csv writer 在python中两次添加双引号

ibr*_*ish 5 html python csv

我已经编写了一个 python 脚本来将 href 属性和标签附加到一个包含 csv 文件中的 url 的字符串中。问题是结果并不如预期。结果 html 字符串有一个额外的双引号而不是单引号。任何建议如何解决这个问题?下面是片段:

InputFile = open('data1.csv', 'rb')
OutputFile = open('data3.csv', 'a+b')

CsvReader_InputFile = csv.reader(InputFile, delimiter=',', quotechar='\"')
CsvWriter_OutputFile = csv.writer(OutputFile, delimiter=',', quotechar='\"')

Row_InputFile = CsvReader_InputFile.next()
Row_InputFile[2] = "<a href=\"" + Row_InputFile[2] + "\">Link</a>"
CsvWriter_OutputFile.writerow(Row_InputFile)
Run Code Online (Sandbox Code Playgroud)

输出:

"<a href=""http://www.google.com"">Link</a>"
Run Code Online (Sandbox Code Playgroud)

想要的输出:

"<a href="http://www.google.com">Link</a>"
Run Code Online (Sandbox Code Playgroud)

And*_*uba 5

这是正确的行为。双引号在 csv 值内转义。

如果您想在不转义的情况下输出,请尝试csv.QUOTE_NONE

csv.writer(OutputFile, delimiter=',', quotechar='\"', quoting=csv.QUOTE_NONE)
Run Code Online (Sandbox Code Playgroud)

  • 确切地。当引号字符在字符串中时,您期望什么?它必须以某种方式逃脱,将它们加倍是一种常见的约定。 (4认同)