Python CSV模块可以解析具有多列分隔符的文件

zen*_*zic 6 python csv

我有一个使用多列分隔符的"CSV"文件,因此数据看起来像

field1_|#|_field2_|#|_field3_|#|_field4
Run Code Online (Sandbox Code Playgroud)

有没有办法使用Python CSV模块来解析这个文件?

谢谢

ale*_*lum 6

尝试用singlechar替换multichar定界符.

有点像这样:

class DelimitedFile:
  def __init__(self, fname, mode='rb', ind=',', outd=','):
    self.f = open(fname, mode)
    self.ind = ind
    self.outd = outd

  def __iter__(self):
    return self

  def next(self):
    line = self.f.next()
    return line.replace(self.ind, self.outd)
Run Code Online (Sandbox Code Playgroud)

像这样使用它:

import csv

delimiter = ','

reader = csv.reader(DelimitedFile(fileName, ind='_|#|_', outd=delimiter))

for row in reader:
  print row
Run Code Online (Sandbox Code Playgroud)