【发布时间】:2013-02-07 04:09:15
【问题描述】:
有没有一种内置方法可以使用read_csv 来只读取文件的前n 行而不提前知道行的长度?我有一个需要很长时间才能读取的大文件,并且偶尔只想使用第一行,比如 20 行来获取它的样本(并且不想加载完整的东西并占据它的头部)。
如果我知道总行数,我可以执行footer_lines = total_lines - n 之类的操作并将其传递给skipfooter 关键字arg。我目前的解决方案是使用 python 和 StringIO 手动抓取第一行 n 到 pandas:
import pandas as pd
from StringIO import StringIO
n = 20
with open('big_file.csv', 'r') as f:
head = ''.join(f.readlines(n))
df = pd.read_csv(StringIO(head))
这还不错,但是有没有更简洁的“pandasic”(?)方法来使用关键字或其他东西?
【问题讨论】:
-
查看如何加载最后 N 行 checkout this SO post
-
您的意思是“pandastic”吗? :)
标签: python pandas csv dataframe