Pandas 数据框到现有 excel 工作簿
Pandas dataframe to existing excel workbook
我正在尝试使用 openpyxl 将数据写入现有的 xlsx 工作簿并将其另存为单独的文件。我想将一个数据帧写入一个名为 'Data' 的 sheet,并将一些值写入另一个名为 'Summary' 的 sheet,然后将工作簿对象保存为 'test.xlsx'。我有以下代码将我需要的计算写入摘要 sheet,但是当我尝试编写日期框架时,我得到了意外关键字参数 'font' 的 TypeError,这没有多大意义对我来说...
我正在使用从 here
改编的以下代码
from openpyxl import load_workbook
import pandas as pd
book = load_workbook('template.xlsx')
# Write values to summary sheet
ws = book.get_sheet_by_name('Summary')
ws['A1'] = 'TEST'
book.save('test.xlsx')
# Write df
writer = pd.ExcelWriter('test.xlsx', engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
df.to_excel(writer, sheet_name="Data", index=False)
writer.save()
回溯:
File "C:\Users\me\AppData\Local\Continuum\Anaconda\lib\site- packages\pandas\core\frame.py", line 1274, in to_excel
startrow=startrow, startcol=startcol)
File "C:\Users\me\AppData\Local\Continuum\Anaconda\lib\site-packages\pandas\io\excel.py", line 778, in write_cells
xcell.style = xcell.style.copy(**style_kwargs)
File "C:\Users\me\AppData\Local\Continuum\Anaconda\lib\site-packages\openpyxl-2.2.2-py2.7.egg\openpyxl\compat\__init__.py", line 67, in new_func
return obj(*args, **kwargs)
TypeError: copy() got an unexpected keyword argument 'font'
我认为错误是由 openpyxl 样式的必要更改引起的 API。结果 Pandas 安装了旧版本的 openpyxl。因此,如果您删除 openpyxl 2.2
,您应该没问题
我正在尝试使用 openpyxl 将数据写入现有的 xlsx 工作簿并将其另存为单独的文件。我想将一个数据帧写入一个名为 'Data' 的 sheet,并将一些值写入另一个名为 'Summary' 的 sheet,然后将工作簿对象保存为 'test.xlsx'。我有以下代码将我需要的计算写入摘要 sheet,但是当我尝试编写日期框架时,我得到了意外关键字参数 'font' 的 TypeError,这没有多大意义对我来说...
我正在使用从 here
改编的以下代码from openpyxl import load_workbook
import pandas as pd
book = load_workbook('template.xlsx')
# Write values to summary sheet
ws = book.get_sheet_by_name('Summary')
ws['A1'] = 'TEST'
book.save('test.xlsx')
# Write df
writer = pd.ExcelWriter('test.xlsx', engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
df.to_excel(writer, sheet_name="Data", index=False)
writer.save()
回溯:
File "C:\Users\me\AppData\Local\Continuum\Anaconda\lib\site- packages\pandas\core\frame.py", line 1274, in to_excel
startrow=startrow, startcol=startcol)
File "C:\Users\me\AppData\Local\Continuum\Anaconda\lib\site-packages\pandas\io\excel.py", line 778, in write_cells
xcell.style = xcell.style.copy(**style_kwargs)
File "C:\Users\me\AppData\Local\Continuum\Anaconda\lib\site-packages\openpyxl-2.2.2-py2.7.egg\openpyxl\compat\__init__.py", line 67, in new_func
return obj(*args, **kwargs)
TypeError: copy() got an unexpected keyword argument 'font'
我认为错误是由 openpyxl 样式的必要更改引起的 API。结果 Pandas 安装了旧版本的 openpyxl。因此,如果您删除 openpyxl 2.2
,您应该没问题