Pandas.ExcelWriter 使用 writer.sheets 方法时出现 KeyError

Pandas.ExcelWriter KeyError when using writer.sheets method

请帮忙,我不知道为什么会出现这个错误。我以前使用过此代码没有任何问题。我希望这不是愚蠢的事情。始终感谢您的帮助。

版本:

python 3.6

PD 0.23.0

xlsxwriter 1.0.4

writer = pd.ExcelWriter('Output.xlsx', engine='xlsxwriter')
workbook  = writer.book
worksheet = writer.sheets['Sheet1']

输出:

Traceback (most recent call last):
File "/opt/eclipse/dropins/plugins/org.python.pydev.core_7.2.0.201903251948/pysrc/_pydevd_bundle/pydevd_exec2.py", line 3, in Exec
exec(exp, global_vars, local_vars)
File "<console>", line 1, in <module>
KeyError: 'Sheet1'

您没有创建 Sheet 1.

来自here有一个例子:

import pandas as pd

# Create a Pandas dataframe from the data.
df = pd.DataFrame({'Data': [10, 20, 30, 20, 15, 30, 45]})

# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter('pandas_simple.xlsx', engine='xlsxwriter')

# Convert the dataframe to an XlsxWriter Excel object.
df.to_excel(writer, sheet_name='Sheet1') ***#this is where you create Sheet 1***

# Get the xlsxwriter objects from the dataframe writer object.
workbook  = writer.book
worksheet = writer.sheets['Sheet1'] ***#here is where you select it***

如果您使用 Pandas,则应使用 .to_excel 函数。会更容易! :)

您必须在 excel 文件中添加 sheet 才能使用它,如下所示:

    excel_writer = pandas.ExcelWriter('f2.xlsx',mode ='w',engine='xlsxwriter')
    workbook  = excel_writer.book
    excel_writer.sheets={'Sheet1':workbook.add_worksheet()}
    worksheet = excel_writer.sheets['Sheet1']