我有一个嵌套的键字典,值对的结构如下:
(0, {'hoovervilles': 13, 'depression.': 10, 'everyday:': 6}), (1, {'mother': 10, 'child': 9, 'daughter': 3, 'prevail': 1}), (2, {'music': 6, 'style,': 2, 'listening': 2})
对于该词典中的每个项目,我想用tsv
和keys
来写一个values
。
这将为字典中的单个项目写键,值:
csv_file = '.../frequencies_dir/2.tsv'
try:
with open(csv_file, 'w') as f:
for key, value in entry.items():
f.write("%s\t%s\n"%(key,entry[key]))
except IOError:
print("I/O error")
如何将字典中的每个项目写入目录中的单独文件(tsv
),并根据字典中的项目编号tsv
命名文件(例如2.tsv
,3.tsv
等)
答案 0 :(得分:0)
您的输入数据在python中无效。但是,如果是这样的话:
entry= [(0, {'hoovervilles': 13, 'depression': 10, 'everyday': 6}),
(1, {'mother': 10, 'child': 9, 'daughter': 3, 'prevail': 1}),
(2, {'music': 6, 'style': 2, 'listening': 2})]
您可以写:
for e in entry:
print(e[0])
with open(os.path.join('/Users/soumyabratakole/test/', str(e[0]) + '.tsv'),'w') as f:
w = csv.DictWriter(f, delimiter='\t', fieldnames = e[1].keys())
w.writeheader()
w.writerow(e[1])
答案 1 :(得分:0)
尝试以下
entry = (0, {'hoovervilles': 13, 'depression.': 10, 'everyday:': 6}), (1, {'mother': 10, 'child': 9, 'daughter': 3, 'prevail': 1}), (2, {'music': 6, 'style,': 2, 'listening': 2});
for i in entry:
print(i[1])
try:
with open(f'{i[0]}.tsv', 'w') as f:
for key, value in i[1].items():
f.write("%s\t%s\n"%(key, i[1][key]))
break
except IOError:
print("I/O error")
这样您将获得三个.tsv
文件,例如0.tsv
,0.tsv
和2.tsv
,其中
0.tsv
看起来
hoovervilles 13
依此类推