Python Pandas:导入异构csv文件的最佳策略

时间:2016-09-04 12:18:11

标签: python pandas

我有一个不同的csv-File我想读大熊猫。该文件看起来像这样:

2016-01-01; 1.00; 2.00
2016-01-02; 1,10; 2.05
2016-01-03; 0.95; 1.90
Some other text in here
2016-01-04; 1.01; 2.04
Some more text there
2016-01-05; 1.06; 2.07

我只需要文本行,所以我可以跳过以日期开头的行。我尝试了几种策略来读取和过滤我们所需的数据但到目前为止没有任何工作。我所知道的是文本行总是以一个特殊的单词开头(在这个例子中是“some”)。但是,没有可以使用的固定行号。

1 个答案:

答案 0 :(得分:2)

如果您想丢弃以单个特殊字符开头的行,则可以使用read_csvcomment参数,如评论中的@cel所示以上。

否则,您可以使用常规Python逻辑从迭代器中过滤掉项目,并使用CStringIO

例如,要丢弃以"some"开头的行,您可以使用:

import CStringIO

buf = StringIO.StringIO('\n'.join((l for l in open('stuff.txt') if not l.startswith('Some'))))
pd.read_csv(buf, sep=';')

相反,如果您实际上只需要以"some"开头的行,请使用

buf = StringIO.StringIO('\n'.join((l for l in open('stuff.txt') if l.startswith('Some'))))