我有一种数据格式,看起来类似于csv文件,但在字符串之间有垂直条,但在布尔字段之间没有。例如:
|2000|,|code_no|,|first name, last name|,,,0,|word string|,0
|2000|,|code_no|,|full name|,,,0,|word string|,0
我不确定这是什么格式(它保存为txt文件)。这是什么格式,我将如何导入python?
对于参考,我一直在尝试使用:
with open(csv_file, 'rb') as f:
r = unicodecsv.reader(f)
然后剥离|从字段的开头和结尾。这项工作正常,但其中包含逗号的字段除外(例如|first name, last name|
,其中字段因逗号而被拆分。
答案 0 :(得分:4)
看起来管道被用作引号字符,而不是分隔符。您是否尝试初始化reader
以使用竖线('|'
)作为引号字符,并且可能使用csv.QUOTE_NONNUMERIC
作为引用规则?
csv.reader(f, quotechar='|', quoting=csv.QUOTE_NONNUMERIC)
答案 1 :(得分:3)
您是否尝试过.reader(f, delimiter=',', quotechar='|')
?