python – 将csv.DictReader对象转换为字典列表?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 将csv.DictReader对象转换为字典列表?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2073字,纯文字阅读大概需要3分钟。
内容图文
![python – 将csv.DictReader对象转换为字典列表?](/upload/InfoBanner/zyjiaocheng/700/435b9ec95a694ea6b82ffe94ba338f01.jpg)
一个csv文件names.csv有内容:
first_name last_name
Baked Beans
Lovely Spam
Wonderful Spam
我想把它读成一个字典列表,第一行包含键:
>>> import csv
>>> with open('names.csv') as csvfile:
... reader = csv.DictReader(csvfile)
... for row in reader:
... print(row['first_name'], row['last_name'])
...
Baked Beans
Lovely Spam
Wonderful Spam
但是读者的类型是csv.DictReader吗?
如何将阅读器转换为词典列表?
谢谢.
解决方法:
import csv
with open("in.csv") as csvfile:
reader = csv.DictReader(csvfile,delimiter=" ")
print(list(reader))
[{'first_name': 'Baked', 'last_name': 'Beans'}, {'first_name': 'Lovely', 'last_name': 'Spam'}, {'first_name': 'Wonderful', 'last_name': 'Spam'}]
如果分隔符实际上不是a,则需要指定“”或其他任何内容.
只是为了清除任何混淆,代码也适用于python3.6,唯一的区别是使用DictReader默认情况下给出Orderdicts:
In [1]: import csv
...: with open("in.csv") as csvfile:
...: reader = csv.DictReader(csvfile, delimiter=" ")
...: print(list(reader))
...:
[OrderedDict([('first_name', 'Baked'), ('last_name', 'Beans')]), OrderedDict([('first_name', 'Lovely'), ('last_name', 'Spam')]), OrderedDict([('first_name', 'Wonderful'), ('last_name', 'Spam')])]
您可以完全相同地访问密钥,OrderedDict只保留密钥插入顺序:
In [2]: import csv
...: with open("in.csv") as csvfile:
...: reader = csv.DictReader(csvfile, delimiter=" ")
...: for dct in reader:
...: print(f"{dct['first_name']} {dct['last_name']}")
...:
...:
Baked Beans
Lovely Spam
Wonderful Spam
哪个py3.6实际上也是如此,所以如果由于某种原因你真的想要一个字典:
In [5]: import csv
...: with open("in.csv") as csvfile:
...: reader = csv.DictReader(csvfile, delimiter=" ")
...: for dct in map(dict, reader):
...: print(dct)
...: print(f"{dct['first_name']} {dct['last_name']}")
...:
...:
{'first_name': 'Baked', 'last_name': 'Beans'}
Baked Beans
{'first_name': 'Lovely', 'last_name': 'Spam'}
Lovely Spam
{'first_name': 'Wonderful', 'last_name': 'Spam'}
Wonderful Spam
在py3.6中插入时的订购保留是一个实现细节,可能会改变,但如果我们足够多的人使用它,它可能只需要保持:)
内容总结
以上是互联网集市为您收集整理的python – 将csv.DictReader对象转换为字典列表?全部内容,希望文章能够帮你解决python – 将csv.DictReader对象转换为字典列表?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。