gpt4 book ai didi

python - 在 csv 文件中搜索列中的特定项目

转载 作者:太空宇宙 更新时间:2023-11-03 11:26:18 25 4
gpt4 key购买 nike

我正在尝试创建一个循环,在 csv 文件中搜索具有公共(public)第 3 列和第 4 列的行,并对它们执行操作。
我的文件如下所示:

name1,x,y,z,notes
name2,a,b,c,notes
name3,a,y,z,notes

我使用的代码读取第一行并标识行 [2] 和行 [3],然后在文件中的所有行中搜索该列组合。不幸的是,我似乎无法弄清楚如何实际搜索它们。

for row in csvfile:
row_identify = row[2:3]
for row in csvfile:
if row_identify in row:
print row
else:
print "not here"

我希望它打印第一行和第三行(因为 y 和 z 将是 row_identify)。我以为我可以明确声明我想搜索那些行,但这似乎不起作用。我也尝试使用

row_identify =  str(row[2]),str(row[3])

但这似乎也不起作用。

最佳答案

您可以创建成对的字典,其中键是包含标识列的元组,值是相似行的列表:

>>> import collections
>>> similarities = collections.defaultdict(list)

>>> for row in csvfile:
... similarities[(row[2], row[3])].append(row)

>>> print similarities
{('y', 'z'): [['name1', 'x', 'y', 'z', 'notes'],
['name3', 'a', 'y', 'z', 'notes']],
('b', 'c'): [['name2', 'a', 'b', 'c', 'notes']]
}

关于python - 在 csv 文件中搜索列中的特定项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32815643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com