【问题标题】:Replace the data in an excel sheet替换excel表格中的数据
【发布时间】:2020-02-27 15:27:40
【问题描述】:

我有一个名为 A1、A2、... A10 的 10 张 excel 文件。 我想用新的熊猫数据框替换工作表 A2 的内容。 我没有找到任何用于这种转换的功能。

有什么解决方法可以解决这个问题吗?

【问题讨论】:

标签: python pandas


【解决方案1】:
import pandas
from openpyxl import load_workbook

df = pandas.DataFrame() # your dataframe

book = load_workbook('your_excel')
writer = pandas.ExcelWriter('your_excel', engine='openpyxl')
writer.book = book

idx=book.sheetnames.index('A2')
book.remove(book.worksheets[idx])
book.create_sheet('A2',idx)

writer.sheets = dict((ws.title, ws) for ws in book.worksheets)

df.to_excel(writer, "A2",index=0,startrow=0,startcol=0)
writer.save()

试试这个代码

【讨论】:

  • 您的代码不会替换整个工作表内容。例如,如果工作表有 100 行和 20 列,而新数据框有 30 行和 5 列,则只替换 30*5 数据,其余单元格有旧数据!
  • 我已经更新了我的答案,代码删除了旧工作表并使用您的数据框创建了一个新工作表。
  • 啊。工作表被命名为"A2" - 这是一个可怕的工作表名称,imo
猜你喜欢
  • 2012-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-27
  • 2020-07-21
  • 2021-09-18
  • 2014-07-01
  • 1970-01-01
相关资源
最近更新 更多