从列表的列表中定位csv中的值

  • 本文关键字:列表 csv 定位 python
  • 更新时间 :
  • 英文 :


我有两个列表,它们被分组在一个列表中。我试图从列表中取出一个项目并检查它是否位于csv列中,如果是,我想检索特定的行。我的尝试如下:

csv:

Name  Age
Susan 40 
Paul  45
Matt  22
Mary  28
Ben   25
Tom   32

代码:

group = [['Paul', 'Matt'], ['Ben', 'Tom']]
ages = []
with open('People.csv') as fh:
spreadsheet = csv.DictReader(fh, delimiter=',')
for row in spreadsheet:
for list in group:
for person in list:
if row['Name'] == str(person):
ages.append(row['Age'])
print(ages)

有什么建议吗?

将列表平展将简化处理:

import itertools
group = [['Paul', 'Matt'], ['Ben', 'Tom']]
flat_group = list(itertools.chain(*group))
with open('People.csv') as fh:
spreadsheet = csv.DictReader(fh, delimiter=',')
ages = [row['Age'] for row in spreadsheet if row['Name'] in flag_group]

最新更新