![](/img/trans.png)
[英]Is there a work around for using multi-character delimiters for `csv.reader`?
[英]Python csv reader multi-character quotechar?
我正在处理Concordance loadfiles并且必须编辑它们,因此我使用Python。 该列由段落符号字符分隔¶
,并þ
作为quotechar。
问题是quotechar,python中的csv模块只接受单字符引号(当我编写csv文件时没有问题)。
问题:如何在Python中读取CSV文件,其中quotechar是多字符的?
CSV文件示例:
þcol_1þ¶þcol_2þ¶þcol_3þ¶þcol_4þ
Concordance文件格式是8位编码, ¶
和þ
字符实际上是用Latin-1编码的。 这意味着它们分别被编码为二进制值0xB6和0xFE。
Python 2 csv
模块非常高兴地接受这些字节:
csv.reader(fileobj, delimiter='\xb6', quotechar='\xfe')
与csv
模块一样,请确保以二进制模式打开文件,以便对模块进行换行处理。
在Python 3中,使用newline=''
和encoding='latin1'
以文本模式打开文件,并使用上面的\\xhh
转义delimiter='¶', quotechar='þ'
或实际字符,因此delimiter='¶', quotechar='þ'
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.