无法写入Excel AttributeError: 'Worksheet'对象没有'write'属性。

8
我正在尝试向Excel写入文本,我正在按照此帖子的方法进行操作。过去这个方法运行良好,但现在出现问题。我收到以下错误信息:

Error:

line 122, in <module>
    worksheet.write(0, 11, 'HI')
AttributeError: 'Worksheet' object has no attribute 'write'

df1

A  E
c  d
c  D

代码:

writer = pd.ExcelWriter("C:\\33.xlsx")
df1.to_excel(writer, startrow=0, startcol=0, index = False)

worksheet = writer.sheets['Sheet1']
worksheet.write(0, 11, 'YO')
worksheet.write(1, 11, 'HI')

我也尝试过:

import xlrd
import xlwt
from xlutils.copy import copy
import os.path
rb = xlrd.open_workbook('C:\\13.xlsx',formatting_info=True)
r_sheet = rb.sheet_by_index(0) 
wb = copy(rb) 
sheet = wb.get_sheet(0) 
sheet.write(5,2,"string")
wb.save('C:\\13.xlsx')

I get:

    with open(filename, "rb") as f:
OSError: [Errno 22] Invalid argument: 'C:\\13.xlsx"'

如何解决 AttributeError: 'Worksheet' object has no attribute 'write' 错误?

1个回答

18
它报错的原因是:AttributeError: 'Worksheet' object has no attribute 'write' 这是因为我意识到我没有在这台电脑上安装xlsxwriter。
pip install xlsxwriter

现在它可以工作了。


9
如果你明确希望使用XlsxWriter,那么应该在pd.ExcelWriter()中添加engine='xlsxwriter',否则Pandas可能会在有OpenPyXL但没有XlsxWriter时进行替换。因此出现了缺少方法的错误。如果你不使用XlsxWriter特定的方法,则使用哪种引擎并不重要。 - jmcnamara

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接