为什么pandas read_csv不支持多条评论(#,@,...)?

时间:2016-11-17 16:48:52

标签: python pandas

我发现pandas read_csv方法比numpy loadtxt快。不幸的是,现在我发现自己处于一种情况,我必须回到numpy,因为loadtxt可以选择设置comments=['#','@']。据我所知,Pandas read_csv方法只能从comment='#'获取一个注释字符串。任何建议或变通办法可以让我的生活更轻松,让我不再转向numpy?另外为什么熊猫不支持多个评论指标?

# save this in test.dat
@ bla
# bla
1 2 3 4

最小例子:

# does work, but only one type of comment is accounted for
df = pd.read_csv('test.dat', index_col=0, header=None, comment='#')

# does not work (not suprising reading the help)
df = pd.read_csv('test.dat', index_col=0, header=None, comment=['#','@'])

# does work but is slow
df = np.loadtxt('test.dat', comments=['#','@'])

1 个答案:

答案 0 :(得分:3)

简短的回答是,还没有人在pandas中实现它。通过他们的Github问题快速查看,看起来像其他人已经建议它,并且维护者可以使用实现它的补丁: https://github.com/pandas-dev/pandas/issues/13948

如果您对此感到满意,或者只是在其他人这样做的时候关注该问题,那么您可以成为回馈pandas项目的好机会。处理评论的代码库部分看起来就在_check_commentshttps://github.com/pandas-dev/pandas/blob/master/pandas/io/parsers.py#L2348