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)中名称的
这比另一个示例要难理解得多。但是它快吗?这比另一个例子要难理解得多。但是速度快吗?