当前位置: 首页 > 面试题库 >

Python Pandas read_csv跳过行但保留标题

贺元明
2023-03-14
问题内容

我在弄清楚如何跳过csv文件中的n行但保留标题为1行时遇到了麻烦。

我想做的是迭代但保留第一行的标题。 skiprows将标题设置为跳过的行之后的第一行。最好的方法是什么?

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

问题答案:

您可以将行号列表传递给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, header=None)
    

    0
    0 a
    1 b
    2 c
    3 d
    4 e
    5 f


  • 使用特定的行作为标题(跳过之前的所有行):

    >>> pd.read_csv(f, header=3)
    

    d
    0 e
    1 f

  • 使用多行作为创建MultiIndex的标题(跳过最后指定的标题行之前的所有行):

    >>> pd.read_csv(f, header=[2, 4])
    

    c
    e
    0 f

  • 从文件的开头跳过N行(未跳过的第一行是标题):

    >>> pd.read_csv(f, skiprows=3)
    

    d
    0 e
    1 f

  • 通过指定行索引来跳过一个或多个行(未跳过的第一行是标题):

    >>> pd.read_csv(f, skiprows=[2, 4])
    

    a
    0 b
    1 d
    2 f



 类似资料:
  • 我想清除所有筛选规则,但保留筛选本身。 有没有直接快速的方法去做呢? 我找到的代码是: 它获取筛选器对象,我对筛选器#的选项数量是有限的。 注意:删除此筛选器,但我需要保留它。

  • 我想从CSV文件中删除包含错误日期的行。在这个过程中,CSV文件应该保留头行。所有这些我都希望使用Java8 Streams来执行。 一开始我想到了这个:

  • 我有一个简单的数据库表 我想删除所有按fv和sv分组的重复行。这已经是一个相当流行的问题,有很好的答案。但我需要改变这种情况。当rel\u id为NULL时,我想保留该行。在任何其他情况下,任何事情都会发生。 所以通过使用以下值 任何一个 或 将是有效的结果。其中为 不会。因为第一个条目有作为,它在之上担任主席。 我目前有这个(这是关于基本重复问题的答案)作为删除重复项的查询,但我不确定如何继续修

  • 问题内容: 对于字符串,我需要它成为。 使用此正则表达式str.replaceAll(“(\ s | \ n)”,“”); 我可以得到“ abc123xyz”,但是如何在两者之间获得空格。 问题答案: 您不必使用正则表达式;您可以使用和代替。 这将为您提供您要查找的字符串。

  • 我正在尝试从xsd编译一个xmlbean jar。xsd是供应商提供给我的,所以我无法更改它。名称属性“CON”导致XML bean抛出异常,如下所示:线程“main”中的异常org.apache.xmlbeans.模式类型加载异常……(系统找不到指定的路径)。如果我将标签属性更改为“CON1”,问题就解决了,因此它肯定是不喜欢的字符串CON。有办法解决这个问题吗?我包括了一个我一直用于测试目的的

  • 下表为PC标签保留参数表,几乎所有的PC标签都支持这些保留参数设置 变量名 默认值 说明 action null 本参数的值表示为操作事件,模型类PC标签必须使用包含本参数,以说明要进行的操作。 cache 0 缓存存储时间(单位秒) num 20 获取记录的条数,最后会被模板引擎处理成limit传送到处理函数中。 page null 当前分页。一般填写为$_GET[page] urlrule n