Python 使用Pandas更新Excel电子表格中的单个单元格

Python 使用Pandas更新Excel电子表格中的单个单元格,python,excel,pandas,Python,Excel,Pandas,我只是想知道如何用python脚本中的Pandas更新excel电子表格中的单个单元格。我不想覆盖文件中的任何其他单元格,只想覆盖我试图更新的一个单元格。我尝试使用.at[]、.iat[]和.loc(),但我的excel电子表格没有更新。其他不推荐使用的方法,如.set_value()也不起作用。我做错了什么 import pandas as pd tp = pd.read_excel("testbook.xlsx", sheet_name = "Sheet1") tp.at[1, 'A']

我只是想知道如何用python脚本中的Pandas更新excel电子表格中的单个单元格。我不想覆盖文件中的任何其他单元格,只想覆盖我试图更新的一个单元格。我尝试使用.at[]、.iat[]和.loc(),但我的excel电子表格没有更新。其他不推荐使用的方法,如.set_value()也不起作用。我做错了什么

import pandas as pd

tp = pd.read_excel("testbook.xlsx", sheet_name = "Sheet1")
tp.at[1, 'A'] = 10

我可能建议使用xlwings进行此操作,因为它可能比在数据帧中读取和写入工作表更容易。下面的示例更改了“A1”的值


另外请注意,如果您正在使用Anaconda软件包,则xlwings包含在其中:

Hi,欢迎使用Stack Overflow。更新后是否重新保存了更新的文件?在pandas中更新后,需要将其写回磁盘,请参见是否将修改后的df保存到excel?
import xlwings as xw

sheet = xw.Book("testbook.xlsx").sheets("Sheet1")
sheet.range("A1").value = "hello world"