Python csv阅读器多字符quotechar?

时间:2016-09-14 07:09:28

标签: python csv

我正在处理Concordance loadfiles并且必须编辑它们,因此我正在使用Python。这些列由pilcrow char 分隔,并以þ作为quotechar。

问题是quotechar,python中的csv模块只接受单字符引号(当我编写csv文件时没有问题。)

问题:如何在Python中读取CSV文件,其中quotechar是多字符的?

CSV文件示例:

þcol_1þ¶þcol_2þ¶þcol_3þ¶þcol_4þ

1 个答案:

答案 0 :(得分:3)

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='þ'。< / p>