在python

时间:2017-11-07 14:16:26

标签: python pandas csv

我有一个像这样的数据文件(data.dat),

范围

1  12.0100 # c3
2  12.0100 # ca
3  16.0000 # os
4  12.0100 # cc
5   1.0080 # ho
6  16.0000 # oh
7  12.0100 # cx

配对corela

1     0.109400     3.399670
2     0.086000     3.399670
3     0.170000     3.000012
4     0.086000     3.399670
5     0.000000            0
6     0.210400     3.066473
7     0.086000     3.399670

角度

1   318.300000     1.518400 # c3 cx
2   321.000000     1.515600 # c3 ca

我想只阅读"对corela"使用python。知道怎么做吗?

1 个答案:

答案 0 :(得分:0)

获取与您要读取的数据的开头和结尾相对应的两个索引值。

import pandas as pd

with open('data.dat') as f:
    for idx, line in enumerate(f):
        if 'Pair corela' in line:
            i = idx
        elif 'Angle ter' in line:
            j = idx
            break

现在,将read_csvskiprowsnrows

一起使用
df = pd.read_csv('data.dat', skiprows=i, nrows=(j - i))