pandas读取csv格式数据时header参数设置方法

 更新时间:2022年02月08日 10:32:45   作者:喵小媛  
本文主要介绍了pandas读取csv格式数据时header参数设置方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

写在前面

使用pandas中read_csv读取csv数据时,对于有表头的数据,将header设置为空(None),会报错:pandas_libs\parsers.pyx in pandas._libs.parsers.raise_parser_error() ParserError: Error tokenizing data. C error: Expected 4 fields in line 2, saw 5

查看pandas官方文档发现,read_csv读取时会自动识别表头,数据有表头时不能设置header为空(默认读取第一行,即header=0);数据无表头时,若不设置header,第一行数据会被视为表头,应传入names参数设置表头名称或设置header=None

参考文档

这是pandas的read_csv的官方文档: python - pandas.read_csv

read_csv的header参数

使用pandas的read_csv读取数据时,header参数表头名称设置(即各列数据对应名称),下面是文档中对header参数的说明:

header参数说明


其中指出,表头可根据数据格式推断各列名称:默认情况下,

  • 若未传入names参数,则根据输入文件的第一行推断是否有表头;
  • 若传入names参数,则names传入的参数作为表头(原数据有表头则会替换原有表头)。

下面是对read_csv的header参数测试

header参数测试

测试数据 两个csv(用逗号隔开)格式的文件,这里是用Excel打开,分别是带有表头和不带表头的数据:

带有表头数据

不带表头数据

默认header 下面是header默认情况下,对有表头的数据识别第一行作为header(即header=0)[ 数据没有给出index名称,这里设置 index_col=False,不设置默认第一列为index(而表头仍是4列,最后一列数据为NaN), index_col参数与 header类似可自动识别。

在这里插入图片描述

设置header=None 对有表头的数据设置 header=None则会报错:

在这里插入图片描述

 

在这里插入图片描述

对无表头的数据,则需设置 header=None,否则第一行数据被作为表头:

在这里插入图片描述

思考

pandas是如何识别或区分数据和表头名称的 ?

  • 对于index_col来说,若数据都是相同类型,比如数值型,则表示无index,输出默认index为0,1,2,…;若数据第一列为字符,其他列为数值,则会将第一列视为index;若设置index_col=False, 则表示无index(默认将0, 1, 2,…作为数据的index)
  • header,当第一行为字符,则第一行默认为表头;当第一行与其他数据类型相同时,也会把第一行当作表头,所以无表头时应设置header=None

header传入list参数(元素代表取对应行号)怎么用?

read_csv的参数skip_blank_lines=True会忽略注释行和空行,其中注释行是用什么符号注释的?(试了一下,行首用’#'注释的不对)

到此这篇关于pandas读取csv格式数据时header参数设置方法的文章就介绍到这了,更多相关pandas header参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python编程使用PyQt5制作动态钟表示例

    Python编程使用PyQt5制作动态钟表示例

    本篇文章将用 Python 同时绘制两种类型的表;一个是上面提到的含有时、分、秒针的钟表(为了方便,下面统称为老式钟表),一个是电子表,最终运行效果文中如下呈现
    2021-10-10
  • python里反向传播算法详解

    python里反向传播算法详解

    在本篇文章了小编给大家整理的是一篇关于python里反向传播算法详解内容,有兴趣的朋友们可以学习下。
    2020-11-11
  • 网易有道2017内推编程题 洗牌(python)

    网易有道2017内推编程题 洗牌(python)

    这篇文章主要为大家详细介绍了网易有道2017内推编程题:洗牌,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • python实现dnspod自动更新dns解析的方法

    python实现dnspod自动更新dns解析的方法

    这篇文章主要介绍了python实现的dnspod自动更新dns解析的方法,需要的朋友可以参考下
    2014-02-02
  • Python实现替换文件中指定内容的方法

    Python实现替换文件中指定内容的方法

    这篇文章主要介绍了Python实现替换文件中指定内容的方法,涉及Python文件读写、字符串替换等相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • Python抓取手机号归属地信息示例代码

    Python抓取手机号归属地信息示例代码

    之前看到一篇文章有提供手机号归属地数据库的下载,由于手机号号段一直在增加,所以提供的数据基本上随时会过期,更理想的方法是从网上定期抓取其他站点维护的经纬度信息。下面这篇文章就给大家介绍了如何利用Python抓取手机归属地信息,有需要的朋友们可以参考借鉴。
    2016-11-11
  • Python httpx库入门指南(最新推荐)

    Python httpx库入门指南(最新推荐)

    Httpx 是一个用于发送 HTTP 请求的 Python 库,它提供了简单易用的 API,可以轻松地发送 GET、POST、PUT、DELETE 等请求,并接收响应,下面介绍下Python httpx库入门指南,感兴趣的朋友一起看看吧
    2023-12-12
  • 深入解析神经网络从原理到实现

    深入解析神经网络从原理到实现

    这篇文章主要介绍了深入解析神经网络从原理到实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 使用Python进行二进制文件读写的简单方法(推荐)

    使用Python进行二进制文件读写的简单方法(推荐)

    下面小编就为大家带来一篇使用Python进行二进制文件读写的简单方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • Python3利用SMTP协议发送E-mail电子邮件的方法

    Python3利用SMTP协议发送E-mail电子邮件的方法

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。下面这篇文章主要给大家介绍了关于Python3如何利用SMTP协议发送E-mail电子邮件的方法,需要的朋友可以参考下。
    2017-09-09

最新评论