使用|导入类似于csv文件的文件格式分隔成Python

时间:2016-03-04 02:31:52

标签: python csv python-3.x

我有一种数据格式,看起来类似于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|,其中字段因逗号而被拆分。

2 个答案:

答案 0 :(得分:4)

看起来管道被用作引号字符,而不是分隔符。您是否尝试初始化reader以使用竖线('|')作为引号字符,并且可能使用csv.QUOTE_NONNUMERIC作为引用规则?

 csv.reader(f, quotechar='|', quoting=csv.QUOTE_NONNUMERIC)

答案 1 :(得分:3)

您是否尝试过.reader(f, delimiter=',', quotechar='|')