防止在写入csv文件时字符串在逗号上分裂

时间:2018-10-31 23:56:27

标签: python python-3.x csv

我正在尝试将3件事写入一个csv文件:

Restaurant,Name and Review

Review是一个段落,其本身包含commas。当我写文件时,由于最终的csv文件根据审阅栏中的逗号分成几列,因此输出错误。

例如,如果评论为“这里的食物很棒,那就试试!” ,则此字符串值应位于csv文件的一个单元格中。

但是,csv文件将其分成2个单元格,一个在逗号之前,另一个在之后。

为了解决这个问题,我试图将文件pipe分隔。

但是,我无法获得输出。下面是我的代码。请帮忙!

names : list containing names of those who wrote a review
restaurant : restaurant name
review : list containing reviews

Output_File = open(restaurant+'.csv', 'w')
Output_File.write("Restaurant | Name | Review | \n")
for i in range(0, final):
    Output_File.write(restaurant + '|' + names[i] + '|' + review[i] + '\n')
Output_File.close()

1 个答案:

答案 0 :(得分:2)

csv会自动将,上的任何字符串拆分为多个字段。为了避免这种情况,您需要将包含,的字符串括在引号中

Output_File.write('"{}","{}","{}"'.format(restaurant, names[i], review[i]))

这样,您仍然可以使其,分隔。

您也可以用其他任何字符代替,作为分隔符。