我试图写入CSV文件,输出应如下所示:
meist,L, ,meist (30), meisten (95)
但看起来这样,加入的字符串得到"
:
meist,L, ,"meist (30), meisten (95)"
我的代码如下:
with open(dest_csv_file, 'w') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=['wortstamm', 'words'])
writer.writeheader()
for wortstamm in self.ausgabe:
words = []
for word in self.ausgabe[wortstamm]["w"]:
words.append('' + word + ' (' + str(self.ausgabe[wortstamm]["w"][word]) + ')')
words_string = ', '.join(words)
writer.writerow({'wortstamm': wortstamm, 'words': words_string})
如何让我的代码编写所需的输出?我需要更改什么?谢谢你的帮助!
答案 0 :(得分:2)
如果您为csv writer提供的某个字段包含,
,则它将用引号括起来,以便它不会被视为多个字段。如果您有多个字段,则应单独传递它们,而不是像在代码中那样使用逗号连接它们。
由于您的字段似乎来自列表,因此使用csv.writer
(给定每行的字段列表)而不是csv.DictWriter
(给出字典)可能更容易其中每个字段由名称指定。)
示例:
writer = csv.writer(csvfile)
for wortstamm in self.ausgabe:
words = ....
writer.writerow([wortstamm] + words)