【问题标题】:loading tab separated text files with multipled data into arrays in python将带有多个数据的制表符分隔的文本文件加载到python中的数组中
【发布时间】:2011-05-12 21:40:01
【问题描述】:

我想将制表符分隔的输入文件作为数组加载到 python 中,我知道 numpy 中的 genfromtxt 可以做到这一点,但问题是我有多组数据要加载。基本上我的示例文件可能是:
#文件开始
#强度
11 1 1
0 1 2
#索引
1 2 3 4 5 6
7 8 9 1 1 2
#文件结束

所以我想使用这个文件将强度加载为一个数组,并将索引加载为另一个数组。我不想事先知道强度的行数,但我可以放注释(“强度”或 [强度] 像在 ConfigParser 中标记一个部分的开始或结束位置)。

是否存在这样的东西,或者我必须自己写一些东西?

谢谢

【问题讨论】:

    标签: python numpy scipy


    【解决方案1】:
    f = open(filepath, 'r')
    tags = ["#intensities"]
    answer = {}
    for line in f:
        if line.strip() in tags: # we've encountered a new tag
            curr = line.strip()[1:]
            answer[curr] = []
        else:
            answer[curr].append(line.strip().split('\t'))
    
    f.close()
    

    现在,answer 将如下所示:

    {'intensities':[['11', '1', '1'], ['0', '1', '2']]}
    

    希望对你有帮助

    【讨论】:

    • 谢谢。你让我想到了为什么我没有自己编写代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2020-04-11
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多