我有一个包含多个选项卡的 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/