Python 将一份口述记录转换为电子表格
我的数据是这样一组数据(但包含更多字段和名称): 我想将其导出到如下电子表格:Python 将一份口述记录转换为电子表格,python,csv,dictionary,Python,Csv,Dictionary,我的数据是这样一组数据(但包含更多字段和名称): 我想将其导出到如下电子表格: Name Age Location Jack 15 UK Jill 23 US [{'name': 'Jack', 'age': 15, 'location': 'UK'}, {'name': 'Jill', 'age': 23, 'location': 'US'}] 但显然csv.DictWriter希望看到这样一个dicts列表: Name Age Location Jack 15
Name Age Location
Jack 15 UK
Jill 23 US
[{'name': 'Jack', 'age': 15, 'location': 'UK'},
{'name': 'Jill', 'age': 23, 'location': 'US'}]
但显然csv.DictWriter希望看到这样一个dicts列表:
Name Age Location
Jack 15 UK
Jill 23 US
[{'name': 'Jack', 'age': 15, 'location': 'UK'},
{'name': 'Jill', 'age': 23, 'location': 'US'}]
最简单的方法是什么将我的口述文件转换成CSV文件
我想条目也应该按字母顺序排列,但在电子表格软件中这很容易做到
mydict = {'Jack': {'age': 15, 'location': 'UK'},
'Jill': {'age': 23, 'location': 'US'}}
datalist = []
for name in mydict:
data = mydict[name]
data['name'] = name
datalist.append(data)
而datalist
将保存所需的结果。注:
- 这也会修改mydict(将“名称”键添加到每个数据)。你可能不介意。它比另一种方法(复制)更有效
- 这不是最华而不实的一行方式,但它可读性很强,这一点更重要
datalist
将保存所需的结果。注:
- 这也会修改mydict(将“名称”键添加到每个数据)。你可能不介意。它比另一种方法(复制)更有效
- 这不是最华而不实的一行方式,但它可读性很强,这一点更重要
>>> [dict(zip(['name'] + attrs.keys(), [name] + attrs.values())) \
for name, attrs in d.iteritems()]
[{'age': 23, 'location': 'US', 'name': 'Jill'},
{'age': 15, 'location': 'UK', 'name': 'Jack'}]
编辑:d
是您的命令:
>>> d
{'Jack': {'age': 15, 'location': 'UK'}, 'Jill': {'age': 23, 'location': 'US'}}
您可以使用列表理解来获取新的目录列表:
>>> [dict(zip(['name'] + attrs.keys(), [name] + attrs.values())) \
for name, attrs in d.iteritems()]
[{'age': 23, 'location': 'US', 'name': 'Jill'},
{'age': 15, 'location': 'UK', 'name': 'Jack'}]
编辑:d
是您的命令:
>>> d
{'Jack': {'age': 15, 'location': 'UK'}, 'Jill': {'age': 23, 'location': 'US'}}
字母排序只是排序(mydict)中名称的
字母排序只是排序(mydict)中名称的
这比另一个示例要难理解得多。但是它快吗?这比另一个例子要难理解得多。但是速度快吗?