我有一组文件,我已经迭代了一遍,并制作了一个关键字字典:文件名,短语。我想输出一个csv文件,看起来像这样
**创建的词典示例**
{'BatMan': [('1.txt', 'I am Bat-Man'),
('2.txt', 'Bat-man is awesome')],
'Flash': [('1.txt', 'The Flash is awesome'),
('1.txt', ' The Flash is only in txt 1 though'),]}
我将这个dict设置为我的字典,并有以下代码
my_dict= dict(**out)
with open('MYTESTER.csv', 'wb') as f:
wcsv = csv.writer(f)
wcsv.writerow([ 'word', 'context'])
for key, value in my_dict.items():
wcsv.writerow( [key, value] )
词语上下文 蝙蝠侠1.txt,我是蝙蝠侠 蝙蝠侠2.txt,蝙蝠侠真棒 Flash 1.txt,'这个Flash太棒了 Flash 1.txt,但是Flash只在txt 1中
但我得到的是 词语上下文 蝙蝠侠1.txt,我是蝙蝠侠,2.txt,蝙蝠侠太棒了 flash1.txt,'这个Flash太棒了,1.txt,但是Flash只有txt 1
我确信这是我在指定writerow时犯的一个简单错误,但是我一直在查看文档,我不明白我做错了什么。为什么要印成这样,我怎么修?你知道吗
您需要两个
for
循环:for
循环。你知道吗for
循环。你知道吗之所以会发生这种情况,是因为您试图将多维列表粘贴到单个csv单元格中。当这种情况发生时,csv模块不知道该做什么,所以它只是将条目作为字符串打印出来。要解决这个问题,您必须添加另一列并合并两个for循环。一个是词典键:值对另一个是字典值中的元组项。你知道吗
请尝试下面的示例脚本:
这将生成如下所示的csv文件:
这本词典每行至少有三个条目,因此需要三列来存储它。你知道吗
相关问题 更多 >
编程相关推荐