繁体   English   中英

列表 append 在 python 中跳过一行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM