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
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
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)
import os
import openpyxl
# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./数据源/'+os.listdir('./数据源/')[0])# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active
# 循环遍历每一行,将每一行的数据以列表形式添加到 rows 列表中for i, row inenumerate(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
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 inrange(1,27)}# print(d)for i, row inenumerate(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