我正在尝试使用.json配置文件来指示应如何写入CSV。
我的json文件中的CSV字典内容如下:
"CSV": {
"Delimiter": ",",
"Quotechar": "\"",
"Quoting": "csv.QUOTE_MINIMAL",
"LineTerminator": "\\r\\n"
},
我想在csv.Dictwriter语句中使用'\ r \ n'作为我的换行符字段:
writer = csv.DictWriter(output, fieldnames=search_results[0].keys(), delimiter=config['CSV']['Delimiter'],
quotechar=config['CSV']['Quotechar'], quoting=quoting, lineterminator=config['CSV']['LineTerminator'])
问题是当我拉LineTerminator字段时,它不等同于Python对'\ r \ n'的解释,并且我无法正确生成CSV:
a= config['CSV']['LineTerminator']
print(a)
print(repr(a))
print(repr('\r\n'))
if '\r\n' == a:
print('Equivalent')
Output:
\r\n
'\\r\\n'
'\r\n'
我尝试使用replace()方法无济于事。
答案 0 :(得分:2)
由于双反斜杠表示字面反斜杠,因此"\\r\\n"
的字面意思是反斜杠后跟字母r
,再跟一个反斜杠后跟字母n
。
您应该使用"\r\n"
来表示JSON配置文件中的回车符和换行符:
"LineTerminator": "\r\n"