为了账号安全,请及时绑定邮箱和手机立即绑定

Python:读取 CSV 文件时缺少第一行

Python:读取 CSV 文件时缺少第一行

米琪卡哇伊 2022-10-18 16:50:53
我正在尝试测试 CSV 文件中的数据。首先,我使用 CSV 库将 CSV 文件的内容放入字典中:#CSV is the CSV filecsvfile = open(CSV)CSVCont = csv.DictReader(csvfile)我做了一些测试而没有弄乱字典,我想打印出内容。我使用了这段代码:for row in CSVCont:    print(row)我得到的输出缺少第一行数据。我的猜测是文件读错了。有人可以帮我吗?
查看完整描述

1 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

默认情况下,csv.DictReader使用第一行并将其用作标题行,用作表示行的字典中的键。


如果您的第一行不应被视为标题行,则应将fieldnames参数作为标题列表提供。


如果您根本不想使用标题,只需使用csv.reader相反(它将每行作为元组而不是字典发出)。


例如,使用此文件:


a,b,c

d,e,f

g,h,i

注意区别:


with open('test.csv') as f:

    reader = csv.DictReader(f)

    for row in reader:

        print(row)

输出


OrderedDict([('a', 'd'), ('b', 'e'), ('c', 'f')])

OrderedDict([('a', 'g'), ('b', 'h'), ('c', 'i')])

尽管


with open('test.csv') as f:

    reader = csv.DictReader(f, fieldnames=['1', '2', '3'])

    for row in reader:

        print(row)

输出


OrderedDict([('1', 'a'), ('2', 'b'), ('3', 'c')])

OrderedDict([('1', 'd'), ('2', 'e'), ('3', 'f')])

OrderedDict([('1', 'g'), ('2', 'h'), ('3', 'i')])


查看完整回答
反对 回复 2022-10-18
  • 1 回答
  • 0 关注
  • 590 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信