我有一个文件,该文件使用\x01
作为字段定界符,并使用\x02\n
作为行终止符。这是文件头的示例:
#export_date\x01artist_id\x01name\x01is_actual_artist\x01view_url\x01artist_type_id\x02\n
当我使用
csv.Sniffer()
时,我得到以下信息:{'module':'csv','_name':'sniffed','lineterminator':'\ r \ n','quoting':0,'doc':None,'doublequote':False,'delimiter': '\ x01','quotechar':'“','skipinitialspace':False}
以下三个字段是什么意思:
报价
Quotechar
双引号
上面没有任何引号,因此我假定
quotechar
应该为空而不是双引号,但是对这三个字段的任何解释都很好。另外,我还尝试了其他一些文件,无论该文件是否带引号,它似乎总是能提供这三个字段的确切输出。
最佳答案
检查文件
方言双引号
控制出现在字段中的quotechar实例本身应如何被引用。当为True时,字符加倍。如果为False,则将escapechar用作quotechar的前缀。默认为True。
方言
一个单字符字符串,用于引用包含特殊字符(例如定界符或quotechar)或包含换行符的字段。默认为“”。
方言引用
控制引号何时由作者生成并由读者识别。它可以采用任何QUOTE_ *常量(请参见模块内容),并且默认为QUOTE_MINIMAL。
关于python - 读取csv.Sniffer()的输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53838501/