python - 用 pandas 数据框替换 xlsx 工作表中的数据

标签 python pandas openpyxl

我有一个包含多个选项卡的 xlsx 文件,其中一个是 Town_names,其中已包含一些数据。

我想用数据框 - Town_namesDF 覆盖该数据 - 同时保持其余 xlsx 选项卡完好无损。

我尝试过以下方法:

with pd.ExcelWriter(r'path/to/file.xlsx', engine='openpyxl', mode='a') as writer:
    Town_namesDF.to_excel(writer,sheet_name='Town_names')
    writer.save()

writer.close()

但它最终会创建一个新选项卡 Town_names1 而不是覆盖 Town_names 选项卡。我错过了什么吗?谢谢。

最佳答案

因为你想覆盖,但没有直接的选项(就像在 julia 的 XLSX 中,有 cell_ref 的选项)。只需删除重复项(如果存在),然后写入即可。

with pd.ExcelWriter('/path/to/file.xlsx',engine = "openpyxl",  mode='a') as writer:
 workBook = writer.book
 try:
  workBook.remove(workBook['Town_names'])
 except:
  print("worksheet doesn't exist")
 finally:
  df.to_excel(writer, sheet_name='Town_names')
 writer.save()

关于python - 用 pandas 数据框替换 xlsx 工作表中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58326076/

相关文章:

python - 将十六进制读取为 double float python

python - Pandas 数据框 : how to copy some columns in others according to a value in the row

python - Pandas 根据条件替换数据框值

python - 有条件的 groupby CumCount pandas

python - 写入 xlsx 在一个单元格中创建重复行

python-3.x - Openpyxl 在保存时会损坏 xlsx。即使没有进行任何更改

python - pandas.to_csv 函数的额外分隔符

python - 根据不同长度的分隔符拆分 Pandas 字符串列

python - 使用 openpyxl 导出数据帧时出现空行

Python - 使用 decorator.py 来保存方法文档字符串