如何在Python中使用xlsxwriter将数据写入/更新到现有XLSX工作簿的单元中

我能够使用写入新的xlsx工作簿

import xlsxwriter def write_column(csvlist): workbook = xlsxwriter.Workbook("filename.xlsx",{'strings_to_numbers': True}) worksheet = workbook.add_worksheet() row = 0 col = 0 for i in csvlist: worksheet.write(col,row, i) col += 1 workbook.close() 

但找不到在现有工作簿中写入的方式。 请帮助我使用xlswriter或其他替代方法在现有工作簿中编写/更新单元格。

xlsxwriter模块文档引用:

此模块不能用于修改或写入现有的Excel XLSX文件。

如果您想修改现有的xlsx工作簿,请考虑使用openpyxl模块。

也可以看看:

  • 使用Python中的Openpyxl修改现有的Excel文件
  • 使用openpyxl编辑Excel2007文件(.xlsx)而不更改自己的样式?

您可以使用此代码打开(test.xlsx)文件并修改A1单元格,然后使用新名称进行保存

 import openpyxl xfile = openpyxl.load_workbook('test.xlsx') sheet = xfile.get_sheet_by_name('Sheet1') sheet['A1'] = 'hello world' xfile.save('text2.xlsx') 

我发现这对于行工作…我敢肯定,有一种方法可以为列做…

 import openpyxl oxl = openpyxl.load_workboo('File Loction Here') xl = oxl.['SheetName'] x=0 col = "A" row = x while (row <= 100): y = str(row) cell = col + row xl[cell] = x row = row + 1 x = x + 1 

如果你已经创build了一个现有的xls文件,因为它已经被创build了,所以你需要像下面那样进行检查:

 PATH='filename.xlsx' if os.path.isfile(PATH): print "File exists and will be overwrite NOW" else: print "The file is missing, new one is created" 

…这里是你想要添加的数据的一部分