加载压缩的泡菜文件时跳过阅读行

时间:2020-06-08 13:39:33

标签: python pandas serialization deserialization pickle

我正在研究多类分类问题。示例jupyter笔记本为here。输入数据位于该存储库的data文件夹中。

我已经生成了一个测试数据集,对其进行了腌制和压缩。窥探测试数据

0   1   2
0   [Br:1][CH2:2][CH2:3][OH:4].[CH2:5]([S:7](Cl)(=...   US03930836  0.0
1   [Br:1][CH2:2][CH2:3][CH2:4][OH:5].[CH3:6][S:7]...   US03930836  0.0
2   [Br:1][CH2:2][CH2:3][OH:4].[CH2:5]([S:7](Cl)(=...   US03930839  0.0
3   [Br:1][CH2:2][CH2:3][CH2:4][OH:5].[CH3:6][S:7]...   US03930839  0.0
4   [CH2:1]([Cl:4])[CH2:2][OH:3].CCOCC.[CH2:10]([S...   US03930839  0.0

在加载数据时或加载数据后,如何跳过某些行。我的数据在test.pkl.gz中。随附here

# Code 

infile = gzip.open(os.path.join(dataDir,'test.pkl.gz'), 'rb')
pklfile = gzip.open(os.path.join(dataDir,'reaction_FPs_test.pkl.gz'),'wb+')


lineNo=0
while 1:
    lineNo+=1
    print(lineNo)
    try:
        smi,lbl,klass = cPickle.load(infile)
        print(smi,lbl,klass)
        print(type(smi),type(smi),type(klass))
        if smi == 0:
            continue
    except EOFError:
        print("Reached End of File")
        break
    try:
#         print(smi)
        rxn = AllChem.ReactionFromSmarts(smi,useSmiles=True)
        rxn.RemoveUnmappedReactantTemplates()
        params = AllChem.ReactionFingerprintParams()
        # ignore agents 

在加载测试数据时,会将标头添加到文件中。而且代码不会执行。这是输出。

1
0 1 2
<class 'int'> <class 'int'> <class 'int'>
2
Reached End of File

0 个答案:

没有答案