[英]list append skipping a row in python
我正在尝试解决 cs50 课程中设置的问题我通过 csv.DictReader 从 csv 文件读取数据,我想将第一行 - 包含标题 - 放在列表中,然后是另一个列表中的其他行我的实现是像这样
line_count = 0
with open(argv[1], "r") as csvfile:
csvreader = csv.DictReader(csvfile)
for row in csvreader:
if line_count == 0:
fields = row
line_count += 1
else:
people.append(row)
line_count += 1
''' or
fields = []
with open(argv[1], "r") as csvfile:
csvreader = csv.DictReader(csvfile)
fields = next(csvreader)
for row in csvreader:
people.append(row)
'''
在这两种方式中,跳过标题后我的 csv 文件中的第一行 csv 看起来像这样
name,AGATC,AATG,TATC
Alice,2,8,3
Bob,4,1,5
Alice 被跳过并且没有 go 进入我的列表
csv.DictReader
假设有一个header,并为你预读。 DictReader
的一个特性是您可以使用列名来访问行中的数据,因此它总是读取第一行作为标题。 您注释掉的代码接近工作,即
FirstName,LastName,Age
John,Doe,25
Jane,Doey,26
可以阅读:
with open(argv[1], "r") as csvfile:
csvreader = csv.DictReader(csvfile)
fields = csvreader.fieldnames # ['FirstName','LastName','Age']
for row in csvreader:
people.append(row)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.