我的数据分为4列,行末有#分隔注释。只需4列就可以轻松阅读并使用评论忽略评论='#'在read_table。
但是,有一条线分隔了多年的数据。这是8' - '没有别的东西就行了。我想跳过开始的整条线' - '。
编写一个删除该行的python预处理器很容易,但是如何让pandas read_table函数跳过这些行呢?我可以跳过数据中的页眉和页脚,但不能跳过非空白分隔线。
感谢您的任何提示。
答案 0 :(得分:0)
我会说让他们进去然后删除第一列中有--
的行。像这样:
In [1]: import pandas as pd
In [2]: df = pd.read_csv('in.txt',sep=',',header=0,names=['A','B','C','D'])
In [3]: print df
A B C D
0 q 88 46 19#comment
1 -------- NaN NaN NaN
2 s 534 16 444
3 q 8138 46 19#comment2
4 --12q 54 17 16
In [4]: df = pd.read_csv('in.txt',sep=',',header=0,names=['A','B','C','D'],comment='#')
In [5]: print df
A B C D
0 q 88 46 19
1 -------- NaN NaN NaN
2 s 534 16 444
3 q 8138 46 19
4 --12q 54 17 16
In [6]: df2 = df[~df['A'].str.contains("--")]
In [7]: print df2
A B C D
0 q 88 46 19
2 s 534 16 444
3 q 8138 46 19