2016-11-15 87 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