Python Pandas 读取csv文件时跳过前x行和最后y行

7

我觉得我可能会漏掉一些显而易见的东西,但我是新手,正在学习Python和Pandas。我正在阅读一个大型文本文件,只想使用范围在61到75496行内的数据。我可以使用以下代码跳过前60行:

keywords = pd.read_csv('keywords.list', sep='\t', skiprows=60)

如何只包含这些值之间的行?不幸的是,没有userows参数可用。

是否有类似的东西?

range(start, stop, start, stop)?
3个回答

7

根据文档,您可以使用skiprows = X跳过前几行,其中X是整数。如果您的文件有标题行,并且该行在数行之后,您还可以使用header = X跳转到标题行。

使用skipfooter = X可以从文件底部向上计数跳过行。

如果需要同时实现将标题设置为第3行(跳过上面的行)和忽略底部4行,则可以使用如下代码:pd.read_csv('path/or/url/to/file.csv', skiprows=3, skipfooter=4)


6
也许你可以使用 nrows 参数来指定要读取的行数。
来自 文档 -
nrows : int, default None
Number of rows of file to read. Useful for reading pieces of large files

代码 -

keywords = pd.read_csv('keywords.list', sep='\t', skiprows=60,nrows=75436) #Here 75436 is 75496 - 60

谢谢!我之前没意识到 nrows 可以和 skiprows 这样一起使用。 - PandaBearSoup

1
您可以使用 nrows 参数。
keywords = pd.read_csv('keywords.list', sep='\t', skiprows=60, nrows=(74596-60))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接