pandas.ExcelWriter ValueError:xlsxwriter 不支持追加模式

新手上路,请多包涵

我想将一些记录添加到 excel 文件中,我使用 pandas.ExcelWriter 来执行此操作( http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.ExcelWriter.html?突出显示=excelwriter#pandas.ExcelWriter ):

 import pandas as pd

df = pd.DataFrame(data={'a':[4], 'b':['corn'], 'c':[0.5]})

with pd.ExcelWriter("test.xlsx", mode='a') as writer:
            df.to_excel(writer)

a, b, c 是 test.xlsx 的标题名称

运行这个程序,引发一个 valueError:

 ValueError                                Traceback (most recent call last)
<ipython-input-3-c643d22b4217> in <module>
----> 1 with pd.ExcelWriter("test.xlsx", mode='a') as writer:
      2     df.to_excel(writer)
      3

~/anaconda/lib/python3.6/site-packages/pandas/io/excel.py in __init__(self, path, engine, date_format, datetime_format, mode, **engine_kwargs)
   1935
   1936         if mode == 'a':
-> 1937             raise ValueError('Append mode is not supported with xlsxwriter!')
   1938
   1939         super(_XlsxWriter, self).__init__(path, engine=engine,

ValueError: Append mode is not supported with xlsxwriter!

我不知道为什么?

原文由 Xu Zhoufeng 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
1 个回答

试试这个:

 with pd.ExcelWriter("existing_file_name.xlsx", engine="openpyxl", mode="a") as writer:
    df.to_excel(writer, sheet_name="name", startrow=num, startcol=num)

您需要将引擎指定为“openpyxl”。

原文由 Jorge Puentes Márquez 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进