我试图比较两个csv文件,并通过搜索找到具体的值。示例如下。在
一号文件
名字,姓氏,年龄
约翰,Doe,45岁
简,多伊,34岁
罗伯特,斯密特,27岁
鲍勃,怀特,56岁
卡里,伍兹,28岁
2号文件
名字
罗伯特
简
脚本应该使用文件2的FirstName列搜索文件1的FirstName列并返回年龄
结果 罗伯特,27岁 简,34岁
我的代码只输出Robert,27它没有继续搜索Jane的第二行。我尝试使用While循环,但没有成功。如有任何帮助,我们将不胜感激!谢谢!在
仅供参考,我将通过超过10k行的文件搜索50+项。在
代码如下:
import csv
FileOne = open('/FileOne')
FileOneReader = csv.DictReader(FileOne)
FileTwo = open('/FileTwo')
FileTwoReader = csv.DictReader(FileTwo)
for row in FileTwoReader:
for row2 in FileOneReader:
if row['FirstName'].lower() in row2['FirstName'].lower():
print 'Name:' + row['FirstName'] + ' Age: ' + row2['Age'].lower()
这对熊猫来说很简单!在
使用pandas导入两个csv文件,将第二个csv与第一个csv合并,然后选择所需的变量。在
可能是这样吗?在
第二个不打印的原因是因为您在第一次迭代中读取了整个
csv.DictReader
对象(它是一个iterator
)。在第二次迭代中,您的一个iterators
已用尽,因此它不会返回任何内容。在您应该将数据保存在列表中,并以这种方式进行检查。以下是指南:
这将产生:
^{pr2}$满的_名称.csv包含:
第一个_名称.csv包含:
相关问题 更多 >
编程相关推荐