27

我可以使用写入新的 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 或任何替代方法在现有工作簿中编写/更新单元格。

4

5 回答 5

59

xlsxwriter从模块文档中引用:

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

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

也可以看看:

于 2013-09-17T12:40:39.127 回答
20

您可以使用此代码打开(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')
于 2016-01-01T19:44:11.990 回答
2

请注意,openpyxl 没有用于操作和编辑图像的大型工具箱。Xlsxwriter 具有图像方法,但另一方面无法导入现有工作表...

我发现这适用于行...我确定有一种方法可以用于列...

import openpyxl

oxl = openpyxl.load_workbook('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
于 2017-08-31T19:12:58.120 回答
0

你也可以通过 xlwings 来做

import xlwings as xw
for book in xlwings.books:
    print(book)
于 2020-03-01T17:14:28.980 回答
-12

如果您在写入现有 xls 文件时遇到问题,因为它已经创建,您需要像下面这样放置检查部分:

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"

...在这里与您要添加的数据部分

于 2015-07-28T13:24:51.860 回答