python 根据csv表头、列号读取数据的实现

 更新时间:2022年05月16日 09:15:35   作者:lovelife110  
这篇文章主要介绍了python 根据csv表头、列号读取数据的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

根据csv表头、列号读取数据的实现

读取csv文件

cvs数据截图如下


在这里插入图片描述

设置index_col=0,目的是设置第一列name为index(索引),方便下面示例演示

data = pandas.read_csv(input1, index_col=0)

输出结果

        price  o_price  date  quan
name                              
wood    85.00    49.99  2006   797
chair  102.50    49.99  2006   799
bed     77.00    49.99  2006   795
lamp   162.50    49.99  2006   800
sofa   699.99   269.99  2002  3094
table  602.00   269.99  2002  3093

根据表头获取列数据

data[['o_price', 'quan']
# 或者
data.loc[:, ['o_price', 'quan']

输出结果

       o_price  quan
name                
wood     49.99   797
chair    49.99   799
bed      49.99   795
lamp     49.99   800
sofa    269.99  3094
table   269.99  3093

根据列号读取列数据

data.iloc[:, [3, 4]]

输出结果

       date  quan
name             
wood   2006   797
chair  2006   799
bed    2006   795
lamp   2006   800
sofa   2002  3094
table  2002  3093

根据index名获取行数据

data.loc[['wood', 'sofa'], :]

输出结果

       price  o_price  date  quan
name                             
wood   85.00    49.99  2006   797
sofa  699.99   269.99  2002  3094

根据列号读取行数据

data.iloc[[0, 1], :]

输出结果

       price  o_price  date  quan
name                             
wood    85.0    49.99  2006   797
chair  102.5    49.99  2006   799

iloc和loc区别

loc是根据dataframe的具体标签选取列,而iloc是根据标签所在的位置,从0开始计数。

读取csv文件并输出特定列

其实,最开始好不容易输出了指定列,结果第二天不小心删了什么东西,然后就一直报错。

看上去和前一天能正常输出的没有什么差别。折腾了一天多总算是找到问题是什么了,是个很简单的问题。

其实不是错误,只是因为选用的读取方式不同,所以一直报错。

源代码如下

import csv
import pandas as pd 
sheet_name = "员工信息表.csv"
 
#数据文件有问题数据
with open(sheet_name,encoding = "utf-8",errors = "ignore") as f:
    
    #可通过列名读取列值,表中有空值
    data= csv.DictReader(_.replace("\x00","") for _ in f)
    headers = next(data)
    print(headers)
    for row in data:
        print(row)
        if row['员工状态'] == '2':
            print(row)
 
    #不可通过列名读取列值,通过第几列来读取
    #data =csv.reader(_.replace("\x00","") for _ in f)
    headers = next(data)
    print(headers)
    for row in data:
        print(row)
        if row[12]=='2':
            print(row)

读取csv文件需要采用:

with open(sheet_name,encoding = "utf-8",errors = "ignore") as f:

如果不加errors = "ignore"会报错:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbb in position 0: invalid start byte

通过csv.reader读取csv文件,然后使用列名row['员工状态']输出列值会报错:

“TypeError: list indices must be integers or slices, not str”

根据这个报错百度了好久,一直没有找到解决方法。

虽然现在最终效果达到了,但是并不清楚具体原因。

源数据表里面问题好多啊,感觉需要先做数据清洗。唉!好难啊!

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python 函数的详解与应用范例

    python 函数的详解与应用范例

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数
    2021-11-11
  • 怎样用cmd命令行运行Python文件

    怎样用cmd命令行运行Python文件

    这篇文章主要介绍了怎样用cmd命令行运行Python文件问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • python2.7使用scapy发送syn实例

    python2.7使用scapy发送syn实例

    这篇文章主要介绍了python2.7使用scapy发送syn实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python使用单例模式创建类的实现示例

    Python使用单例模式创建类的实现示例

    本文详细介绍了Python中实现单例模式的多种方式,包括元类、threading.Lock、模块、importlib、__new__方法和装饰器等,感兴趣的可以了解一下
    2024-12-12
  • python datetime处理时间小结

    python datetime处理时间小结

    这篇文章主要介绍了python datetime处理时间小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python使用Apache Kafka时Poll拉取速度慢的解决方法

    Python使用Apache Kafka时Poll拉取速度慢的解决方法

    在使用Apache Kafka时,poll方法拉取消息速度慢常见于网络延迟、消息大小过大、消费者配置不当或高负载情况,本文提供了优化消费者配置、并行消费、优化消息处理逻辑和监控调试的解决方案,并附有Python代码示例和相关类图、序列图以帮助理解和实现
    2024-09-09
  • Python对列表的操作知识点详解

    Python对列表的操作知识点详解

    在本篇文章里小编给大家整理了关于Python对列表的操作知识点总结以及实例代码运用,需要的朋友们跟着学习下。
    2019-08-08
  • python3抓取中文网页的方法

    python3抓取中文网页的方法

    这篇文章主要介绍了python3抓取中文网页的方法,实例分析了Python3页面抓取及编码转换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • windows下python安装pip图文教程

    windows下python安装pip图文教程

    这篇文章主要为大家详细介绍了windows下python安装pip图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • 详谈pandas中agg函数和apply函数的区别

    详谈pandas中agg函数和apply函数的区别

    下面小编就为大家分享一篇详谈pandas中agg函数和apply函数的区别,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04

最新评论