excel - 使用 Python 用多个 excel 文件中的列表中的信息填充新列
问题描述
我需要在 40 个 excel 文件中添加一列。每个文件中的新列将填充一个名称。
这就是我所拥有的:
files=[16686_Survey.xlsx, 16687_Survey.xlsx, 16772_Survey.xlsx, ...](40 个文件,每个文件超过 200 行)
文件名=['name1', 'name2', 'name3', ...] (40 个名字)
我需要为每个 excel 文件添加一列,并在新列中写入其对应的名称。
使用以下代码,我得到了一个文件所需的内容。
import pandas as pd
df = pd.read_excel('16686_Survey.xlsx')
df.insert(0, "WellName", "Name1")
writer = pd.ExcelWriter('16686_Survey.xlsx')
df.to_excel(writer, index = False)
writer.save()
但是如果我这样做 40 次就会效率低下,我想学习如何使用循环来解决这类问题,因为我多次遇到相同的情况。
该图像是我使用上面的代码得到的。图像中的第一个表是我所拥有的。第二张桌子是我想要的
谢谢您的帮助!
解决方案
我不是 100% 确定我理解你的问题,但我认为你正在寻找这个:
import pandas as pd
files=['16686_Survey.xlsx', '16687_Survey.xlsx', '16772_Survey.xlsx', ...]
filenames=['name1', 'name2', 'name3', ...]
for excel_file, other_name in zip(files, filenames):
df = pd.read_excel(excel_file)
df.insert(0, "WellName", other_name)
writer = pd.ExcelWriter(excel_file)
df.to_excel(writer, index = False)
writer.save()
zip
我使用该函数合并了两个列表(我假设它们的长度相同) 。zip 函数一个接一个地从列表中取出项目并将它们组合起来,这样所有第一个项目都在一起,第二个项目都在一起,依此类推。
推荐阅读
- junit - 如何在 Mockito.Mock() 之后注入 Mock
- r - 如何从R中的文本语料库中删除特定单词?提供修改代码
- python - tf.math.reduce_mean 和 tf.keras.metrics.Mean 有什么区别?
- java - 如何摆脱父/子服务的循环依赖?
- angular - 如何强制浏览器语言设置为英语?
- flutter - 在 Flutter 中提取 Regex 中的字符串并将其转换为 Int
- arrays - 随机挑选独特的元素
- firebase - 如何每天在firebase数据库中重置数据库中的值?
- java - java.util.InputMismatchException:尝试重定向 txt 文件时出错
- discord.js - 如何只允许机器人所有者(我)运行命令