2014-06-07 159 views
0

试图打开包含引号的CSV并将其删除。我已经查看了python的CSV模块的文档,它删除了像我想要的引号,但输出试图转义逗号,这正是我试图避免的。此代码:Python:CSV模块。 EscapeChar正在搞乱输出

csv.register_dialect('escaped',delimiter=",", escapechar="\\", quoting=csv.QUOTE_NONE) 
reader = csv.reader(open(input_file, "rb"), skipinitialspace=True) 
writer = csv.writer(open(output_file, "wb"), dialect='escaped') 

writer.writerows(reader) 

结果输出像这个值1 \,值2。我如何得到反斜杠,所以它只是输出中的逗号。输入文件包含了一些看起来这行:

"Value1,Value2" 
+0

为了清晰起见,您能否在您的问题中包含几行输入文件? – shaktimaan

+0

“Value1,Value2” – Stev0

回答

1

你所观察的行为是直列什么文档saysQUOTE_NONE

如果你正在试图做的是摆脱报价,并且鉴于输入内容与您在评论中提到的内容一样简单,是否不会起作用?

with open('input') as in_file, open('output', 'w') as out_file: 
    for line in in_file: 
     out_file.write(line.replace('\"', '')) 
+0

@ Stev0必须是文件句柄的问题。上面的代码完全读取输入文件并写入输出文件 – shaktimaan

+0

我想通了......我很惭愧地说我正在使用相同的输入文件运行不同的python文件。我只是在命令行中加紧并没有意识到这一点。现在正在使用写入文件完美工作。谢谢! – Stev0