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对象列表转换为字典_python – 将csv.DictReader对象转换为字典列表...相关推荐

  1. python元组转字典_python中怎么将元组、字典转化为列表

    python中将元组.字典转化为列表的方法: python中可以使用list()方法将元组或字典转化为列表: list()方法语法:list( tup ) 参数 tup -- 要转换为列表的元组. 返 ...

  2. python内置数据结构教程_python课程第二周 内置数据结构——列表和元组

    5种内置数据结构:列表.元组.字典.集合.字符串.列表.字典.字符串三种被称为线性结构.针对线性结构的操作有:切片.封包和解包.成员运算符.迭代. 针对数据结构的操作有解析式:解析式分为列表解析.生成 ...

  3. python导入文件列行_python读写csv文件并增加行列的实例代码

    python读写csv文件并增加行列,具体代码如下所示: # -*- coding: utf-8 -*- """ Created on Thu Aug 17 11:28: ...

  4. python append函数二维_python创建与遍历List二维列表的方法

    python创建与遍历List二维列表的方法 python 创建List二维列表 lists = [[] for i in range(3)] # 创建的是多行三列的二维列表 for i in ran ...

  5. python 类和对象 经常用吗_python基础教程之对象和类的实际运用

    我们熟悉了对象和类的基本概念.我们将进一步拓展,以便能实际运用对象和类. 调用类的其它信息 中提到,在定义方法时,必须有self这一参数.这个参数表示某个对象.对象拥有类的所有性质,那么我们可以通过s ...

  6. python中event的用法_Python编程之event对象的用法实例分析

    本文实例讲述了Python编程中event对象的用法.分享给大家供大家参考,具体如下: Python提供了Event对象用于线程间通信,它是由线程设置的信号标志,如果信号标志位为假,则线程等待直到信号 ...

  7. 获取用户列表为空_Python中最常见的10个列表操作

    列表是Python中使用最多的一种数据结果,如何高效操作列表是提高代码运行效率的关键,这篇文章列出了10个常用的列表操作,希望对你有帮助. 1.迭代列表时如何访问列表下标索引 普通版: 优雅版: en ...

  8. python将csv转字典_python – 将CSV数据转换为字典中的列表

    您需要使用名称作为键并将行的切片附加为值,使用normal或defaultdict将没有顺序: import csv from collections import defaultdict with ...

  9. python内置函数什么可以返回列表、元组_Python内置函数_________可以返回列表、元组、字典、集合、字符串以及range对象中元素个数。...

    [单选题]如果希望把一个可迭代对象转换为元组,该使用下面的哪个函数? [单选题]已知 x = [1, 2],那么执行语句 x[0:0] = [3, 3]之后,x的值为___________. [单选题 ...

最新文章

  1. 小白学统计(4)——数据集中趋势的描述
  2. Uva(10048),最短路Floyd
  3. Dart 流中的 listen 和 forEach 有什么区别?
  4. 【转】make makefile cmake qmake都是什么,有什么区别?
  5. REVERSE-PRACTICE-BUUCTF-16
  6. crontab java job_crontab 定时任务
  7. windows库的创建和使用:静态库+动态库
  8. IC卡读写器c#源代码
  9. 【纯·干货】你会用到的期刊读Paper发论文写论文必备网站及各种小助手,不定期持续更新中~
  10. codemirror 格式化_教你轻松搞懂vue-codemirror基本用法:主实现代码编辑、验证提示
  11. Java实现生成并下载Excel文件
  12. SHR和SAR移位指令
  13. 校园助手APP--登陆
  14. 【AutoSAR】【MCAL】PWM
  15. 奥赛一本通2069:【例2.12 】糖果游戏
  16. 早期做的Fireworks闪光字教程,顺便怀念一下
  17. 如何去做一个完整的网站 SEO 优化方案?
  18. Kotlin学习——了解Kotlin
  19. JavaScript 对象增删改查 + 遍历对象+内置函数 + 随机对象
  20. 网页特效——潘多拉魔盒(.html)

热门文章

  1. 【建议收藏】centos更新yum源为阿里云
  2. HDU1506 / POJ2339 Largest Rectangle in a Histogram 单调递减栈
  3. python读取只读word只读_Python用于NLP :处理文本和PDF文件
  4. redismanager 获取不到yml中的密码_SpringBoot敏感信息加密,springboot配置文件密码加密jasypt...
  5. 初中知识会不会影响计算机,初中计算机论文
  6. SpringMVC-注解@RequestParam
  7. Java中的String类
  8. HttpClient:绕开https证书(三)
  9. linux变量中代,linux中shell变量$#,$@,$0,$1,$2和变量${0%/*}
  10. Python实训day12pm【答辩要求、定时器】