我有一些 csv 文件,其中包含带有换行符的字符串。这些文件将在 Excel 中正常打开,但是当我尝试使用 csv.DictReader() 读取文件时,csv.DictReader() 似乎将字符串中的每个换行符作为新的数据行处理,而不是忽略回车在字符串中中断。
我该怎么做才能让下面的第二个测试像第一个测试一样通过?
#csv contents
this, is, a, test
1,2,u'thr\nee',4
5,6,7,8
result = []
text = """this, is, a, test
1,2,u'three',4
5,6,7,8"""
b = StringIO(text)
reader = csv.DictReader(b)
for row in reader:
result.append(row)
self.assertEqual(2,len(result))
expected = [{'this': '1', ' test': '4', ' is': '2', ' a': "u'three'"}, {'this': '5', ' test': '8', ' is': '6', ' a': '7'}]
self.assertEqual(expected ,result)
#With a /n inside the string.
result = []
text = """this, is, a, test
1,2,u'thr\nee',4
5,6,7,8"""
b = StringIO(text)
reader = csv.DictReader(b)
for row in reader:
result.append(row)
self.assertEqual(2,len(result))
#expected = [{'this': '1', ' test': '4', ' is': '2', ' a': "u'thr\nee'"}, {'this': '5', ' test': '8', ' is': '6', ' a': '7'}]
#self.assertEqual(expected,result)