回答问题

我无法弄清楚如何跳过 csv 文件中的 n 行但保留第 1 行的标题。

我想要做的是迭代但保留第一行的标题。skiprows使标题成为跳过行之后的第一行。这样做的最佳方法是什么?

data = pd.read_csv('test.csv', sep='|', header=0, skiprows=10, nrows=10)

Answers

您可以将行号列表传递给skiprows而不是整数。

通过为函数提供整数 10,您只是跳过了前 10 行。

要保留第一行 0(作为标题)然后跳过其他所有内容直到第 10 行,您可以编写:

pd.read_csv('test.csv', sep='|', skiprows=range(1, 10))

其他使用read_csv跳过行的方法

控制read_csv使用哪些行的两种主要方法是headerskiprows参数。

假设我们有以下包含一列的 CSV 文件:

a
b
c
d
e
f

在下面的每个示例中,此文件为f = io.StringIO("\n".join("abcdef"))

  • 将所有行作为值读取(无标题,默认为整数)
>>> pd.read_csv(f, headeru003dNone)
       0
0个
1个
2°C
3天
4e
5楼
  • 使用特定行作为标题(跳过之前的所有行):
>>> pd.read_csv(f, headeru003d3)
d
0e
1 英尺
  • 使用多行作为标题创建 MultiIndex(跳过最后指定标题行之前的所有行):
>>> pd.read_csv(f, headeru003d[2, 4])
C
e
0 英尺
  • 从文件开头跳过 N 行(第一行没有跳过的是标题):
>>> pd.read_csv(f, skiprowsu003d3)
d
0e
1 英尺
  • 通过给出行索引跳过一个或多个行(第一行没有跳过的是标题):
>>> pd.read_csv(f, skiprowsu003d[2, 4])
一个
0 b
1天
2楼
zoz100027`
Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐