将 csv 文件读入字典 - 只读取第一个键+值

时间:2021-03-22 17:21:19

标签: python csv dictionary

我有一个函数可以将 csv 文件读入字典,但下一个迭代器似乎不起作用,因为它只读取第一对键+值。

reader = csv.DictReader(open(folder_path+'/information.csv'))
info = next(reader)

我的 csv 文件的结构是这样的:

Test Name
mono1
Date
18/03/2021
Time
18:25
Camera
monochromatic

而字典返回的是:

{'Test Name': 'mono1'}

知道发生了什么吗?或者有更好的方法来读取文件而无需更改其结构?

1 个答案:

答案 0 :(得分:0)

您的文件不是 CSV。它的结构需要如下:

Test Name,Date,Time,Camera
mono1,18/03/2021,18:25,monochromatic

阅读内容:

import csv

with open('test.csv',newline='') as f:
    reader = csv.DictReader(f)
    for line in reader:
        print(line)

输出:

{'Test Name': 'mono1', 'Date': '18/03/2021', 'Time': '18:25', 'Camera': 'monochromatic'}

要读取您拥有的文件,您可以使用:

with open('test.txt') as f:
    lines = iter(f)  # An iterator over the lines of the file
    info = {}
    for line in lines:  # gets a line (key)
        # rstrip() removes the newline at the end of each line
        info[line.rstrip()] = next(lines).rstrip() # next() fetches another line (value)
print(info)

(相同的输出)