Pour un projet il y a quelque temps, j'ai dû utiliser Python pour générer directement des fichiers Excel. Plus tard, au fur et à mesure que les besoins évoluaient, j'ai dû lire les fichiers Excel existants. Je voulais donc l'enregistrer.Cet article vous présente principalement les informations pertinentes sur le fonctionnement du fichier xlsx d'Excel par Python.Les amis dans le besoin peuvent s'y référer.
Avant-propos
Auparavant, xlrd/xlwt était utilisé pour traiter la lecture et l'écriture d'Excel, mais ces deux bibliothèques ont l'inconvénient d'être ne conviennent que pour Le format xls est mieux géré, mais le format se terminant par xlsx ne peut pas être traité. Étant donné que tout le monde utilise la dernière version d'Office et que le format d'Excel est xlsx, il n'est pas approprié de continuer à utiliser xlrd/xlwt pour le traitement pour le moment. Heureusement, nous pouvons également utiliser openpyxl pour lire et écrire des fichiers xlsx.
Je ne connais pas Excel et je ne l'utilise pas très souvent, donc le traitement d'Excel est très simple, juste une simple lecture et écriture. Ce qui est démontré ici est également une simple opération de lecture et d'écriture. . Pour des fonctions avancées spécifiques, vous pouvez vous référer à l'adresse du lien après l'article.
Un : Écrivez un fichier Excel comme suit
from openpyxl import Workbook from openpyxl.utils import get_column_letter # 在内存中创建一个workbook对象,而且会至少创建一个 worksheet wb = Workbook() #获取当前活跃的worksheet,默认就是第一个worksheet ws = wb.active #设置单元格的值,A1等于6(测试可知openpyxl的行和列编号从1开始计算),B1等于7 ws.cell(row=1, column=1).value = 6 ws.cell("B1").value = 7 #从第2行开始,写入9行10列数据,值为对应的列序号A、B、C、D... for row in range(2,11): for col in range (1,11): ws.cell(row=row, column=col).value = get_column_letter(col) #可以使用append插入一行数据 ws.append(["我","你","她"]) #保存 wb.save(filename="/Users/budong/Desktop/a.xlsx")
Deux : Lisez le contenu Excel qui vient d'être écrit comme suit
from openpyxl import load_workbook #打开一个workbook wb = load_workbook(filename="/Users/budong/Desktop/a.xlsx") #获取当前活跃的worksheet,默认就是第一个worksheet #ws = wb.active #当然也可以使用下面的方法 #获取所有表格(worksheet)的名字 sheets = wb.get_sheet_names() #第一个表格的名称 sheet_first = sheets[0] #获取特定的worksheet ws = wb.get_sheet_by_name(sheet_first) #获取表格所有行和列,两者都是可迭代的 rows = ws.rows columns = ws.columns #迭代所有的行 for row in rows: line = [col.value for col in row] print line #通过坐标读取值 print ws.cell('A1').value # A表示列,1表示行 print ws.cell(row=1, column=1).value
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!