【问题标题】:How to add sheet to existing excel file with pandas?如何使用熊猫将工作表添加到现有的 excel 文件中?
【发布时间】:2018-06-25 02:28:54
【问题描述】:
import pandas as pd
from openpyxl import load_workbook


book = load_workbook('test.xlsx')
writer = pd.ExcelWriter('test.xlsx') 
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
df = pd.DataFrame({'a':[1,3,5,7,4,5,6,4,7,8,9],
                   'b':[3,5,6,2,4,6,7,8,7,8,9]})
df.to_excel(writer, sheet_name='tab_name', index = False)

writer.save()

我收到一个错误 AttributeError:“工作簿”对象没有属性“add_worksheet”

【问题讨论】:

  • AttributeError: 'Workbook' 对象没有我得到的属性 'add_worksheet'
  • 您使用的是什么版本的pandasopenpyxl?我无法使用 pandas 0.18.1openpyxl 2.2.5 重现您的错误
  • @DeepSpace 好吧,我们现在是 0.22。虽然不确定openpyxl(psh,谁甚至使用它?!)。
  • 更多想法请见this question

标签: python excel pandas


【解决方案1】:
import pandas as pd
from openpyxl import load_workbook

fn = 'test.xlsx'

df = pd.read_excel(fn, header=None)
df2 = pd.DataFrame({'a':[1,3,5,7,4,5,6,4,7,8,9],
                   'b':[3,5,6,2,4,6,7,8,7,8,9]})

writer = pd.ExcelWriter(fn, engine='openpyxl')
book = load_workbook(fn)
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)

df.to_excel(writer, sheet_name='tab_name', header=None, index=False)
df2.to_excel(writer, sheet_name='tab_name', header=None, index=False,
             startcol=7,startrow=6)

writer.save()

【讨论】:

    猜你喜欢
    • 2018-03-22
    • 2020-01-15
    • 2020-10-13
    • 2013-07-06
    • 2013-06-27
    • 1970-01-01
    • 2022-08-19
    相关资源
    最近更新 更多