我编写了一个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)
输出:
"<a href=""http://www.google.com"">Link</a>"
通缉输出:
"<a href="http://www.google.com">Link</a>"
答案 0 :(得分:2)
这是正确的行为。双引号在csv值内转义。
如果您想在不转义的情况下输出,请尝试csv.QUOTE_NONE
csv.writer(OutputFile, delimiter=',', quotechar='\"', quoting=csv.QUOTE_NONE)
答案 1 :(得分:1)
在尝试将JSON对象作为字符串存储在csv的列中时遇到了这个问题。我在充满双引号的字符串周围有单引号。 我的数据行看起来像
['foo', 'bar', '{"foo":"bar". "bar":"foo"}']
这样做为我解决了
writer = csv.writer(csv_file, delimiter=',', quotechar="\'", quoting=csv.QUOTE_NONE)