用于解析空格分隔文件的Python库

时间:2012-12-08 00:55:44

标签: python

  

可能重复:
  Efficient way of parsing fixed width files in Python

甚至不确定“空格分隔”是否真的是正确的术语(这可能是阻碍我搜索工作的因素)。基本上,字段X从字符0开始,字段Y从字符30开始。很确定这是我们的系统之一仍然使用的古老文件格式。我可以轻松地推出自己的解决方案,但如果存在,我宁愿使用现有的库。

3 个答案:

答案 0 :(得分:3)

这个问题与你的问题非常相似。看起来他们对哪些模块最有用提出了一些建议:

How to efficiently parse fixed width files?

答案 1 :(得分:2)

with open('myfile.txt') as f:
  for line in f.readlines():
    x, y = line[:28], line[29:]

应该从每一行分隔x, y个参数。

答案 2 :(得分:-1)

子类csv.Dialect如下:

import csv

class SpaceCsv(csv.Dialect):
    "csv format for exporting tables"
    delimiter = None
    doublequote = True
    escapechar = None
    lineterminator = '\n'
    quotechar = '"'
    skipinitialspace = True
    quoting = csv.QUOTE_MINIMAL
csv.register_dialect('space', SpaceCsv)

然后将其用作csv.reader(filename, dialect="space")。让我知道你是怎么过的......