Un artículo lo lleva a usar Python para leer, escribir y procesar tablas de Excel (procesamiento de archivos xlsx)

Ya escribí un artículo sobre el manejo de archivos de Excel por Python . Si lo necesita, puede consultarlo. Este artículo es principalmente para registrar algunos problemas durante mi operación real.

1. Mis necesidades

Quiero que la última columna de Excel se convierta del formato de lista al tipo numérico

Inserte la descripción de la imagen aquí
Puede ver que parte de la última columna es una lista y algunas son directamente numéricas.Quiero que toda la lista se convierta a tipos numéricos

Segundo, el código

import openpyxl

def write_excel_xlsx():
    # 写入数据准备
    workbook = openpyxl.Workbook()
    sheet = workbook.active
    sheet.title = "优化后的参数"
    # 记录写的行数
    write_row = 0
    # 首先从excel中读取数据
    work_read = openpyxl.load_workbook("样本优化.xlsx")
    sheet_read = work_read["优化后的参数"]
    # 将表中的所有行转换为列表
    rows_data = list(sheet_read.rows)
    # 逐行读取
    for row in rows_data:
        for i in range(len(row)):
            value = row[i].value
            if isinstance(value, str):
                sheet.cell(row=write_row + 1, column=i + 1, value=str(value[1:len(value) - 1]))
            else:
                sheet.cell(row=write_row + 1, column=i + 1, value=str(value))
        write_row = write_row + 1
    workbook.save("样本优化-处理.xlsx")
    print("xlsx格式表格写入数据成功!")

write_excel_xlsx()

Tres, resumen

  1. Convierta todas las filas de la tabla en una lista
# 将表中的所有行转换为列表
rows_data = list(sheet_read.rows)

Este paso es muy importante, porque operaremos en el número específico de columnas más adelante, para que la conversión sea más conveniente

  1. Esa lista tiene la forma de una cadena en Excel, por lo que debe juzgarse por separado
if isinstance(value, str):
   sheet.cell(row=write_row + 1, column=i + 1, value=str(value[1:len(value) - 1]))
else:
   sheet.cell(row=write_row + 1, column=i + 1, value=str(value))
  1. Preste atención a este número de filas, debe incrementarse después de procesar una fila

Supongo que te gusta

Origin blog.csdn.net/nanhuaibeian/article/details/108723903
Recomendado
Clasificación