python - CSV 模块可以解析带有多字符分隔符的文件吗?

标签 python csv

我有一个使用多字符定界符的“CSV”文件,所以数据看起来像

field1_|#|_field2_|#|_field3_|#|_field4

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

最佳答案

尝试用单字符分隔符替换多字符分隔符。

像这样:

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)

像这样使用它:

import csv

delimiter = ','

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

for row in reader:
  print row

关于python - CSV 模块可以解析带有多字符分隔符的文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7012398/

相关文章:

MatLab-->csv : Export data to csv file using dlmwrite in Matlab

python语言环境货币和负数

python - 在 python 中将输入文件读取为 csv

csv - 如何从Hive中的日期获取一天中的时间,星期几,月份

python - 附加了奇怪的 csv 标题

java - 如何在Java中连接2个csv文件

Python float 和 int 行为

python - 将 pandas 列传递给函数时出现 "ValueError: The truth value of a Series is ambiguous"

Python:导入错误:没有名为 os 的模块

python - 如何使用 BeautifulSoup 提取特定字符串