2016-11-15 93 views
4

我想将一些熊猫数据框填入excel文件的现有。我跟着中说明:使用 How to write to an existing excel file without overwriting data (using pandas)?将pd数据框填入现有excel表格(使用openpyxl v2.3.2)

from openpyxl import load_workbook 
    import pandas as pd 
    import numpy as np 

    book=load_workbook("excel_proc.xlsx") 
    writer=pd.ExcelWriter("excel_proc.xlsx", engine="openpyxl") 
    writer.book = book 
    writer.sheets = dict((ws.title, ws) for ws in book.worksheets) 
    data_df.to_excel(writer, sheet_name="example", startrow=100, startcol=5, index=False) 
    writer.save() 

然而,现有的片材将被删除,则生成“实例”片并仅在DF所定义的位置被整合。我做错了什么?我希望将“data_df”写入现有“示例”工作表中现有的excel文件中,并保留其他工作表和数据。

感谢

例DF:

data_df=pd.DataFrame(np.arange(12).reshape((2, 6)), index=["Time","Value"]) 

回答

1

你可能有兴趣在学习xlwings,这使得它更容易与Excel文件从蟒蛇工作。

在任何情况下,我都会先阅读工作表中现有的数据,然后根据需要在python中合并数据,最后覆盖工作表。

2

我自己解决了这个问题。我意识到,即使load_workbook无法加载我的文件。所以,我更新了openpyxl软件包(conda install openpyxl)。版本不能正常工作:v2.3.2(python 35)。目前工作的版本是:v2.4.0。

我真的不知道,如果这是最后的原因。但是,现在优秀的人员填补了定义的地点并保存了数据。

+0

谢谢!这是非常有用的信息。 – MaxU