问题描述
(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
等)
解决方法
您的输入数据在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])
,
尝试以下
entry = (0,'depression.': 10,'everyday:': 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
依此类推