从输出中删除“”

时间:2015-12-08 18:20:35

标签: python csv python-3.x

我试图写入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})

如何让我的代码编写所需的输出?我需要更改什么?谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

如果您为csv writer提供的某个字段包含,,则它将用引号括起来,以便它不会被视为多个字段。如果您有多个字段,则应单独传递它们,而不是像在代码中那样使用逗号连接它们。

由于您的字段似乎来自列表,因此使用csv.writer(给定每行的字段列表)而不是csv.DictWriter(给出字典)可能更容易其中每个字段由名称指定。)

示例:

writer = csv.writer(csvfile)
for wortstamm in self.ausgabe:
     words = ....
     writer.writerow([wortstamm] + words)