提问人:herbitovich 提问时间:11/7/2023 更新时间:11/7/2023 访问量:41
如何在遍历 .xlsx 文件中的行时更新单元格值?
How to update cell values while iterating through rows in an .xlsx file?
问:
我正在尝试使用 Pandas 库读取 excel 文件,遍历所有行并更改其中的一些值。该表看起来有点像这样: 表示例 所以我的目标是将所有行的登录列的值更改为名字 + 姓氏,如下所示: 预期结果
为了做到这一点,我尝试了这个:
import pandas
df = pandas.read_excel('contestants.xlsx', sheet_name = 0)
df.reset_index(drop=True)
for i, r in df.iterrows():
row = r.copy()
login = row['First name']+row['Last name']
df.loc[i, 'Login'] = login
print(df['Login'][i])
但 df.loc 和 df.at 都没有奏效。打印函数提供预期的输出,但 .xlsx 文件本身不会更改。我该如何解决这个问题?
答:
0赞
Learning is a mess
11/7/2023
#1
仅供参考,正如 Ben 所建议的那样,不循环会更快:
df = pandas.read_excel('contestants.xlsx', sheet_name = 0)
df['Login'] = df['First name']+df['Last name']
另外,请查看文档
请注意,创建文件名已 exists 将导致删除现有文件的内容。
这意味着,如果您的 Excel 文件中有更多工作表,您需要将它们全部导入,更新第一个工作表,然后将它们全部存储。
有关工作示例,请参阅 https://xlsxwriter.readthedocs.io/example_pandas_multiple.html
评论
DataFrame
to_excel