簡體   English   中英

將pd數據框填入現有Excel工作表(使用openpyxl v2.3.2)

[英]Fill in pd data frame into existing excel sheet (using openpyxl v2.3.2)

我想將一些pandas數據幀填入現有的 excel文件中。 我按照以下說明操作: 如何寫入現有的excel文件而不覆蓋數據(使用pandas)? 使用:

  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"])

我自己解決了這個問題。 我意識到即使load_workbook也無法加載我的文件。 因此,我更新了openpyxl包 (conda install openpyxl)。 不起作用的版本是:v2.3.2 (python 35)。 現在運行版本是:v2.4.0。

我真的不知道,如果這是最后的原因。 但是現在excels被填充在定義的位置並且數據被保留。

您可能對學習xlwings感興趣,這使得使用python中的excel文件變得更加容易。

在任何情況下,我都會先閱讀工作表中的現有數據,在python中按照您的意願組合數據,最后覆蓋工作表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM