pandas “XlsxWriter”对象没有属性“save”,您的意思是:'_save'?

lkaoscv7  于 2023-04-28  发布在  其他
关注(0)|答案(2)|浏览(3179)

我正在尝试我找到的以下代码。

  1. import pandas as pd
  2. import xlsxwriter
  3. data = {'Name': ['John', 'Jane', 'Adam'], 'Age': [25, 30, 35], 'Gender': ['M', 'F', 'M']}
  4. df = pd.DataFrame(data)
  5. writer = pd.ExcelWriter('output.xlsx', engine='xlsxwriter')
  6. df.to_excel(writer, sheet_name='Sheet1')
  7. workbook = writer.book
  8. worksheet = writer.sheets['Sheet1']
  9. # Example: Adding a chart
  10. chart = workbook.add_chart({'type': 'line'})
  11. chart.add_series({'values': '=Sheet1.$B$2:$B$4'})
  12. worksheet.insert_chart('D2', chart)
  13. writer.save()

但我得到了以下错误:

  1. writer.save()
  2. ^^^^^^^^^^^
  3. AttributeError: 'XlsxWriter' object has no attribute 'save'. Did you mean: '_save'?

有人知道如何解决吗?提前感谢!朱塞佩
尝试使用pandas从excel文件中的dataframe保存数据

8i9zcol2

8i9zcol21#

在XlsxWriter 1.3.7中doc.save()可以工作。在3.1.0中只有doc._保存()函数可以工作,但doc.save()不能工作。

llmtgqce

llmtgqce2#

Pandas中的save()方法已被弃用并删除。您应该使用close()
使用旧版本的Pandas,您会收到以下警告:
未来警告:保存不是公共API的一部分,使用时可能会给予意外结果,将在未来版本中删除
在最近的版本中,您只需要像这样使用close()(我还修复了图表值的语法):

  1. import pandas as pd
  2. import xlsxwriter
  3. data = {
  4. "Name": ["John", "Jane", "Adam"],
  5. "Age": [25, 30, 35],
  6. "Gender": ["M", "F", "M"],
  7. }
  8. df = pd.DataFrame(data)
  9. writer = pd.ExcelWriter("output.xlsx", engine="xlsxwriter")
  10. df.to_excel(writer, sheet_name="Sheet1")
  11. workbook = writer.book
  12. worksheet = writer.sheets["Sheet1"]
  13. # Example: Adding a chart
  14. chart = workbook.add_chart({"type": "line"})
  15. chart.add_series({"values": "=Sheet1!$C$2:$C$4"})
  16. worksheet.insert_chart("E2", chart)
  17. writer.close()

输出:

展开查看全部

相关问题