1

可能重复:
在 Python 中解析固定宽度文件的有效方法

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

4

3 回答 3

3

这个问题看起来和你的很相似。看起来他们对哪些模块最有用有一些建议:

如何有效地解析固定宽度的文件?

于 2012-12-08T01:03:22.733 回答
2
with open('myfile.txt') as f:
  for line in f.readlines():
    x, y = line[:28], line[29:]

x, y应该将每行的参数分开。

于 2012-12-08T01:03:28.697 回答
-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"). 让我知道你是怎么办的...

于 2012-12-08T01:03:17.693 回答