具有多个注释字符的Read_Table

时间:2015-03-05 03:40:30

标签: pandas

我的数据分为4列,行末有#分隔注释。只需4列就可以轻松阅读并使用评论忽略评论='#'在read_table。

但是,有一条线分隔了多年的数据。这是8' - '没有别的东西就行了。我想跳过开始的整条线' - '。

编写一个删除该行的python预处理器很容易,但是如何让pandas read_table函数跳过这些行呢?我可以跳过数据中的页眉和页脚,但不能跳过非空白分隔线。

感谢您的任何提示。

1 个答案:

答案 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