Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将csv文件读取到字典-仅读取第一个键+;价值_Python_Csv_Dictionary - Fatal编程技术网

Python 将csv文件读取到字典-仅读取第一个键+;价值

Python 将csv文件读取到字典-仅读取第一个键+;价值,python,csv,dictionary,Python,Csv,Dictionary,我有一个将csv文件读入字典的函数,但下一个迭代器似乎不起作用,因为它主要读取第一对key+值 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'} 知道发生了什么吗

我有一个将csv文件读入字典的函数,但下一个迭代器似乎不起作用,因为它主要读取第一对key+值

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'}

知道发生了什么吗?或者是一种更好的方式来读取文件而不必更改其结构?

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

测试名称、日期、时间、摄像头
mono1,18/03/2021,18:25,单色
这将与以下内容一起阅读:

导入csv
将open('test.csv',换行符='')作为f:
reader=csv.DictReader(f)
对于行内读取器:
打印(行)
输出:

{'testname':'mono1','Date':'18/03/2021','Time':'18:25','Camera':'单色'}
要读取您拥有的文件,您可以使用:

以open('test.txt')作为f的
:
lines=iter(f)#文件行上的迭代器
信息={}
对于行中的行:#获取一行(键)
#rstrip()删除每行末尾的换行符
info[line.rstrip()]=next(行)。rstrip()#next()获取另一行(值)
打印(信息)

(相同的输出)

“但下一个迭代器似乎不起作用,因为它主要读取第一对键+值。”我不确定您希望
下一个
做什么,但它会给您迭代器中的下一个值。在本例中,第一个值为。您可能是指
list(reader)
阅读
csv.DictReader
的文档。列标题用作键。行值用作字典的值。所以如果你再做几次
next(reader)
,你就会得到
{'testname':'Date'}
{'testname':'18/03/2021'}
@PranavHosangadi,我现在明白了!非常感谢。