Python——openpyxl lit les tableaux Excel (lecture, modification de cellule, couleur de fond de cellule)

Tout d'abord, il existe de nombreuses bibliothèques permettant à python de lire Excel, notamment xlwings, pandas, xlrd, etc. J'utilise généralement openpyxl et pandas. Bien sûr, j'aime aussi convertir Excel avec une quantité relativement importante de données au format csv pour en lisant.

Aujourd'hui, nous utilisons openpyxl pour lire des fichiers Excel. Lors de la lecture, nous pouvons convertir les informations de chaque ligne en une liste. Plus important encore, nous pouvons afficher le numéro de ligne de chaque ligne, afin que le contenu de la cellule puisse être modifié ultérieurement, et nous pouvons compter sur le numéro de ligne

Étape 1, lisez

insérez la description de l'image ici

code:

import os
import openpyxl
# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./数据源/'+os.listdir('./数据源/')[0])
# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active

# 循环遍历每一行,将每一行的数据以列表形式添加到 rows 列表中

for i, row in enumerate(worksheet.iter_rows(values_only=True), 1):
    d = list(row)
    print(f"行{
      
      i}",d)
# workbook.save("./结果.xlsx"),由于这里只是读取,没有修改,无需保存

Étape 2, Modifier

Si je suis dans la colonne K, ajouter une colonne pour remplir le numéro de ligne du code ci-dessus

feuille de travail["K{numéro de ligne}"] = devoir

insérez la description de l'image ici

Haha, j'ai oublié de sauter la première ligne (ajouter un continue), mais ce n'est pas grave, le numéro de ligne des données est rempli correctement (le code ci-dessous est correct)

insérez la description de l'image ici

import os
import openpyxl
# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./数据源/'+os.listdir('./数据源/')[0])
# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active

# 循环遍历每一行,将每一行的数据以列表形式添加到 rows 列表中

for i, row in enumerate(worksheet.iter_rows(values_only=True), 1):
    if i== 1:
        continue
    d = list(row)
    worksheet[f"K{
      
      i}"] = i
    print(f"行{
      
      i}",d)

workbook.save("./结果.xlsx")

Définir la largeur, la hauteur et la couleur d'arrière-plan des cellules

Élargissons la colonne B

worksheet.column_dimensions['B'].width = 15
worksheet.column_dimensions['1'].height = 15# Il s'agit de la hauteur de ligne de la première ligne, et ainsi de suite

Définir la couleur d'arrière-plan de la cellule

worksheet[’A1'].fill = PatternFill("solid", fgColor="3CB371")# Par exemple, définissez la cellule A1 sur la couleur ["3CB371"], qui est une couleur hexadécimale

insérez la description de l'image ici

le code

import os
import openpyxl
from openpyxl.styles import PatternFill

# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./数据源/'+os.listdir('./数据源/')[0])
# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active
worksheet.column_dimensions['C'].width = 20

# 循环遍历每一行,将每一行的数据以列表形式添加到 rows 列表中
d2 = {
    
    i:chr(i+64) for i in range(1, 27)}
# print(d)
for i, row in enumerate(worksheet.iter_rows(values_only=True), 1):
    k = i
    if k<=11:
        worksheet[d2[k]+'1'].fill = PatternFill("solid", fgColor="3CB371")
    if i== 1:
        continue
    d = list(row)
    worksheet[f"K{
      
      i}"] = i
    print(f"行{
      
      i}",d)

workbook.save("./结果.xlsx")

J'espère que tout le monde doit aider

Un petit programmateur dédié à la bureautique

J'ai vu ça, suivez + like + marque-page = ne vous perdez pas ! !

Si vous voulez en savoir plus sur la bureautique Python, faites attention !

Je suppose que tu aimes

Origine blog.csdn.net/weixin_42636075/article/details/130868632
conseillé
Classement