notas de estudio del módulo python openpyxl

notas de estudio del módulo python openpyxl


Prefacio

Xiaobai, ¡dame un consejo! ¡
Bienvenido a cometer errores! ! !

Una biblioteca openpyxl

La biblioteca openpyxl es una biblioteca de Python que puede leer y escribir Excel (parece ser al menos la versión 2010 de Excel)

En segundo lugar, use operaciones básicas

1. Cree una nueva tabla de Excel / abra una tabla de Excel existente

1> Crea una nueva tabla de Excel

El código es el siguiente (ejemplo):

from  openpyxl import  Workbook

wb = Workbook() # 实例化
ws = wb.active #激活 worksheet

'''这里加上读写操作代码块'''

wb.save('workbook1.xlsx')#保存

2> Abra una hoja de Excel existente

from openpyxl import load_workbook

wb = load_workbook('workbook1.xlsx')#实例化
ws = wb.active#激活当前活跃的工作表,获取当前活跃的sheet对象
#或者是ws = wb['Sheet']

'''这里加上读写操作代码'''

wb.save('workbook1.xlsx')#保存文件

ws = wb.active se puede escribir como ws = wb ['Hoja'].
Estas dos funciones son las mismas para obtener un objeto de hoja. La
primera es obtener la hoja de trabajo actualmente activa como el objeto, y la segunda es obtener el hoja de trabajo en Excel por nombre. Objeto (los dos se pueden seleccionar y usar según las necesidades)

2. Escribir datos

1> Especificar celdas para completar

from openpyxl import Workbook

wb = Workbook()
ws = wb['Sheet']# 获取Sheet工作表对象

# 设置内容
ws['A1'] = 'Hello World!'#在A列第1行填入 Hello World!

import datetime#一般的import都放在前面,这里为了方便阅读
ws['A2'] = datetime.datetime.today()#在A2单元格填入现在的时间

wb.save('new_sample.xlsx')#保存

2> Completar línea por línea

from openpyxl import Workbook
wb1 = Workbook()
ws1 = wb1.active
ws1.append(['A1','B1','C1','D1'])
ws1.append([1,2,3,4,])
wb1.save('workbook1.xlsx')

El efecto es así
El efecto es así

3. Lee los datos

En primer lugar, tengo que hablar de tres generadores:
filas: obtener celdas por fila (objeto de celda)
columnas: obtener celdas por columna (objeto de celda)
valores: obtener contenido de celda (datos de celda) por fila
Nota: Para los tres anteriores I Realmente no entiendo la definición específica del actor Los valores obtenidos por valores parecen ser tipos de tuplas.

Puede probar la impresión más para explorar el papel de cada uno, pero será indescriptible (capacidad limitada, no describirá -.-)

1> Imprime el contenido de una determinada celda

from openpyxl import load_workbook
wb1 = load_workbook('workbook1.xlsx')
ws1 = wb1.active
a1 = ws1['A1']
print(a1)#打印结果为<Cell 'Sheet'.A1> a1应该是为类里的一个cell对象
print(type(a1))#打印结果为<class 'openpyxl.cell.cell.Cell'>,
print(a1.value)#打印结果为 A1 (.value ->单元格的值。加上.value之后应该是打印 对象a1的属性值。)
wb1.save('workbook1.xlsx')

Nota: El a1 y su tipo aquí son la suposición del autor, esperando los comentarios de los grandes en el área de comentarios para responder ~~

2> Imprime el valor de una determinada columna

from openpyxl import load_workbook
wb1 = load_workbook('workbook1.xlsx')
ws1 = wb1.active
a = ws1['A']
for i in a:
    print(i.value)
wb1.save('workbook1.xlsx')

3> Imprime el valor de cada celda (imprime línea por línea)

from openpyxl import load_workbook
wb1 = load_workbook('workbook1.xlsx')
ws1 = wb1.active

for cell in ws1.values:
    print(*cell)
    
wb1.save('workbook1.xlsx')

El resultado de la impresión es el siguiente.
Inserte la descripción de la imagen aquí
Nota: La celda es un tipo de tupla aquí, y se imprime * delante de ella cuando se imprime. No sé por qué se puede lograr este efecto. Por favor comente en la sección de comentarios ~~

para resumir

Preguntas y errores por favor señalar en la sección de comentarios.

Supongo que te gusta

Origin blog.csdn.net/qq_51182221/article/details/112344539
Recomendado
Clasificación