您可以先使用以下方法计算文件大小:
size = sum(1 for l in open('file.csv'))
然后使用范围有的分类:
df = pd.read_csv('file.csv', skiprows=range(1, size - 10000))
编辑
正如@ivan_pozdeev提到的解决方案,你需要通过文件两次.我试图用pandas读取整个文件,然后使用tail方法,但这种方法比较慢.
示例数据帧:
pd.DataFrame(np.random.randn(1000000,3), columns=list('abc')).to_csv('file.csv')
定时
def f1():
size = sum(1 for l in open('file.csv'))
return pd.read_csv('file.csv', skiprows=range(1, size - 10000))
def f2():
return pd.read_csv('file.csv').tail(10000)
In [10]: %timeit f1()
1 loop, best of 3: 1.8 s per loop
In [11]: %timeit f2()
1 loop, best of 3: 1.94 s per loop