我有一个文件,其中有许多行的格式如下:
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实现的模块,或者其他干净的方式?
谢谢!
看起来你可以用字符串和切片简单地编写一个函数。字符串[0:5]将是第一个元素。它需要可扩展,还是可能是一次性的?
编辑:您仍然可以使用结构模块:
请参阅struct module文档。在我看来你想用
struct.unpack()
你想要的可能是:
我想我从你的问题/评论中明白你在找什么。如果我们假设Real、Character和Integer是唯一的数据类型,那么下面的代码应该可以工作。(我还假设您显示的格式文件是制表符分隔的):
结果应该包含一个字典列表,其中每个字典都是从格式文件中的键名到正确数据类型中的数据值的映射。
相关问题 更多 >
编程相关推荐