【发布时间】:2011-08-18 17:38:48
【问题描述】:
我有一个文件,其中包含许多行,格式如下:
FIELD POSITION DATA TYPE
------------------------------
COOP ID 1-6 Character
LATITUDE 8-15 Real
LONGITUDE 17-25 Real
ELEVATION 27-32 Real
STATE 34-35 Character
NAME 37-66 Character
COMPONENT1 68-73 Character
COMPONENT2 75-80 Character
COMPONENT3 82-87 Character
UTC OFFSET 89-90 Integer
数据全部为 ASCII 格式。
一行的例子是:
011084 31.0581 -87.0547 26.0 AL BREWTON 3 SSE ------ ------ ------ +6
我目前的想法是我想一次读取一行中的文件,并且以某种方式将每一行分解成一个字典,以便我可以引用组件。是否有一些模块可以在 Python 中执行此操作,或者其他一些干净的方式?
谢谢!
【问题讨论】:
-
列是否被制表符分割?
-
据我了解,列之间可能没有划界,所以不能简单地应用 split()。
-
这就是列出数据在字符串中的位置的原因。
-
如果没有划定,我们怎么知道一行的一部分在第一列而不是第二列? (编辑:我不明白您在第二条评论中的意思。您要阅读的文件与您帖子中的文件不同吗?)
-
因为@murgatroid99,第一列是1-6个字符,第二列是8-15个字符,以此类推。