在Python 3中将CSV文件附加到新的CSV文件时,单词之间会出现不必要的“”

时间:2018-11-14 11:59:03

标签: python csv python-3.7

我正在尝试将CS​​V文件附加到新的CSV文件,并且在我的第一个文档中的单词之间没有“”的地方,我将它们附加到新文件时得到了它们。示例:

house
building 
apartment
loan 

是我要导入的CSV文件的方式。我写了这段代码:

import csv 

csv_file = open("bigcsv.csv", "a", encoding='utf-8', newline = "")
csv_file_writer = csv.writer(csv_file, delimiter= ",")

document_to_append = open("test.csv", "r")
for row in document_to_append:
    print(row)
    csv_file_writer.writerow([row])

document_to_append.close()
csv_file.close()

而CSV格式的结果如下:

"house
"
"building
"

以此类推...

如何摆脱那些烦人的“”?我完全不知道...

3 个答案:

答案 0 :(得分:0)

我不确定是否是这个原因,但是我认为这是因为您要将行变成csv_file_writer.writerow([row])行中的列表,我将在下面使用它:

import csv 

with open("bigcsv.csv", "r") csv_file:
with open("test.csv", "w") as csv_file_writer:
    for row in csv_file:
        csv_file_writer.writerow(row)

答案 1 :(得分:0)

您可以将csv.writer设置为不加引号,例如quoting = csv.QUOTE_NONE,如下所示:

import csv
csv_file = open("bigcsv.csv", "a", encoding='utf-8', newline = "")
csv_file_writer = csv.writer(csv_file, delimiter= ",", escapechar=' ',quoting=csv.QUOTE_NONE,lineterminator='')
document_to_append = open("test.csv", "r")
for row in document_to_append:
    print(row)
    csv_file_writer.writerow([row])
document_to_append.close()
csv_file.close()

演示链接:

  

https://repl.it/repls/FarLopsidedBaitware

答案 2 :(得分:0)

替换行:

document_to_append = open("test.csv", "r")

作者:

document_to_append = [line.rstrip() for line in open('test.csv', "r")]

注意:这将起作用,但是您必须删除以下行: document_to_append.close(),因为 document_to_append 不再是句柄,而是列表。

如果您想关闭文件,请执行以下操作,而不是列表理解(上述解决方案):

with open('test.csv') as f:
    document_to_append = [line.rstrip() for line in f]