我有一个函数可以将 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'}
知道发生了什么吗?或者有更好的方法来读取文件而无需更改其结构?
答案 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)
(相同的输出)