【发布时间】:2015-07-29 12:41:16
【问题描述】:
我在读取一个以刺分隔的 csv 文件时遇到问题,我认为该文件在其中一个字段中有一个换行符。它迫使该行超过两行,因此我无法读取该行最后一个字段中的值。我试过在new line mode 中打开,但不确定最好的方法是什么。
这就是我试图在python 中读取文件的方式:
csv.register_dialect('BB', delimiter='\xfe')
with open(file, 'rU') as file_in:
log=csv.reader(file_in, dialect='BB')
for row in log:
print row
这对大多数文件都有效,但我假设有一行在其中一个字段中有一个换行符 - 我不确定如何最好地诊断它。这是该行在记事本中的样子的屏幕截图,您可以看到,当它应该看起来像下面的两行时,它会强制该行在两行上。
使用csv.reader 阅读此行如下所示:
['06-13-2015-10:13:41', '0', '', '', '', '', '', '', '', '', '', ' ', '142', '', '5', '7.0', '2', '', 'cmhkl966', 'amex_674', '1', '0.00', '', '', "'"]
即在第一个撇号处被截断。
【问题讨论】:
-
这不是我第一次看到
þ作为 csv 分隔符。这有什么原因吗?是否有默认使用此分隔符的应用程序?