2

是否有一种智能/简单的方法可以告诉熊猫中的 read_csv 在某个“部分结束”标志之后不要加载数据?还是让它在到达空行时停止?

data = pd.read_csv(path, **params)
eos_line = (data['id'] == eos_string).idxmax()
data = data.drop(range(eos_line-2, data.shape[0]))

我觉得他们应该是一个更好的方法。不幸的是,在调用 read_csv 之前,我不知道要跳过的页脚的行数或长度。数据看起来大致类似于

1,2,3
4,5,6


dont want any data after this line
7,8,9
10,11,12

(注意:-2 是 b/c 在节字符串结束之前实际上有 2 个空行,但如果 read_csv 只读取到这一点,我猜 dropna() 会非常轻松地删除这两行)

4

1 回答 1

1

韦斯确实想到了一切!

In [40]: data = """A,B,C
   ....: 1,2,3
   ....: 4,5,6
   ....: 7,8,9
   ....: want to skip this
   ....: also also skip this
   ....: """

In [41]: read_csv(StringIO(data), skip_footer=2)
Out[41]: 
   A  B  C
0  1  2  3
1  4  5  6
2  7  8  9
于 2013-05-18T23:30:04.020 回答