使用python编辑excel文件

时间:2017-03-29 02:16:44

标签: python excel pandas

我尝试编辑现有的Excel文件。我的文件为test.xlsx,其中两张为AllSummary。以下步骤:

 import pandas as pd

 df = pd.read_csv('abc.csv') 
 number_rows = len(df.index) 
 writer = pd.ExcelWriter('test.xlsx') 
 df.to_excel(writer, sheet_name = 'All',startrow = number_rows) 
 writer.save()

我想编辑(将数据附加到工作表名称All)但是在运行此代码时,它似乎是工作表名称SummaryAll已删除,并且它会创建一个新工作表命名All并将新数据写入其中。那么,如何在不删除现有数据的情况下将数据附加到Excel工作表?谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用openpyxl引擎以及startrow参数。 你还需要;

  • 首先阅读csv至df
  • 使用openpyxl
  • 打开xlsx作为工作簿
  • 使用openpyxl作为引擎
  • 创建编写器对象
  • 将工作表添加到编写器对象
  • 将df添加到编写器对象

您的代码(已修改):

import pandas as pd
from openpyxl import load_workbook

df = pd.read_csv('abc.csv')
number_rows = len(df.index) 
book = load_workbook('test.xlsx')
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 = 'All',startrow = number_rows) 
writer.save()