我被指派读取一个.HDR文件,该文件被格式化为一堆小电子表格。格式如下:
* Block title 1
* column 1 | column 2 | column 3 | ... | column n
data 1,1 | data 1,2 | data 1,3 | ... | data 1,n
data 2,1 | data 2,2 | data 2,3 | ... | data 2,n
data 3,1 | data 3,2 | data 3,3 | ... | data 3,n
... | ... | ... | ... | ...
data n,1 | data n,2 | data n,3 | ... | data n,n
*
* Block title 2
* column 1 | column 2 | column 3 | ... | column n
data 1,1 | data 1,2 | data 1,3 | ... | data 1,n
data 2,1 | data 2,2 | data 2,3 | ... | data 2,n
data 3,1 | data 3,2 | data 3,3 | ... | data 3,n
... | ... | ... | ... | ...
data n,1 | data n,2 | data n,3 | ... | data n,n
*
请注意,每个块中的列具有不同的名称
这通常是格式,但也有例外。有时数据的格式如下所示:
* Block title 1
* column 1 | column 2 | column 3 | ... | column n
data 1,1 | data 1,2 | data 1,3 | ... | data 1,n
data 2,1 | data 2,2 | data 2,3 | ... | data 2,n
data 3,1 | data 3,2 | data 3,3 | ... | data 3,n
... | ... | ... | ... | ...
data n,1 | data n,2 | data n,3 | ... | data n,n
* Block title 1 (this is the same title as above)
data 1,1 | data 1,2 | data 1,3 | ... | data 1,n
data 2,1 | data 2,2 | data 2,3 | ... | data 2,n
data 3,1 | data 3,2 | data 3,3 | ... | data 3,n
... | ... | ... | ... | ...
data n,1 | data n,2 | data n,3 | ... | data n,n
*
请注意,没有列名称
理想情况下,我希望使用csv.Dictreader或pandas或其他东西来处理这个问题,但我不确定如何处理。我需要将每个迷你电子表格转换成一个字典,然后将它们嵌套到另一个字典中。你将如何处理这个问题(注意:我是用Python 2.7编写的。)
使用“
pd.read_table()
”读取第一列(如果有的话,直到|
)。然后使用类似的方法查找分隔符行:现在您有了一个行索引数组,其中存在分隔符。接下来,自己打开文件,逐段阅读,大致如下:
换言之,您只需执行一次过程来确定文件布局,然后执行第二次过程来读取数据帧
相关问题 更多 >
编程相关推荐