pandas读取excel某一行_python读取csv数据指定行列

pandas读取excel某一行_python读取csv数据指定行列pandas中查找excel或csv表中指定信息行的数据使用loc函数来查找。话不多说,直接演示:有以下名为try.xlsx表:例如查找A部门所有成员的的姓名和工资或者工资低于3000的人:代码如下:importpandasaspd#导入pandas库excel_file=’./try.xlsx’#导入文件data=pd.read_excel(excel_file)#读入数据print(data.loc[data[‘部


Jetbrains全系列IDE稳定放心使用

pandas中查找excel或csv表中指定信息行的数据(超详细)

关键!!!!使用loc函数来查找。
话不多说,直接演示:
有以下名为try.xlsx表:
在这里插入图片描述

1.根据index查询

条件:首先导入的数据必须的有index
或者自己添加吧,方法简单,读取excel文件时直接加index_col
代码示例:

import pandas as pd                      #导入pandas库

excel_file = './try.xlsx'               #导入excel数据
data = pd.read_excel(excel_file, index_col='姓名')        
#这个的index_col就是index,可以选择任意字段作为索引index,读入数据
print(data.loc['李四'])

打印结果就是
部门 B
工资 6600
Name: 李四, dtype: object
(注意点:索引)

2.已知数据在第几行找到想要的数据

假如我们的表中,有某个员工的工资数据为空了,那我们怎么找到自己想要的数据呢。
代码如下:

for i in data.columns:
    for j in range(len(data)):
        if (data[i].isnull())[j]:
            bumen = data.iloc[j, [0]]                             #找出缺失值所在的部门
            data[i][j] = charuzhi(bumen)

原理很简单,首先检索全部的数据,然后我们可以用pandas中的iloc函数。上面的iloc[j, [2]]中j是具体的位置,【0】是你要得到的数据所在的column

3.根据条件查询找到指定行数据

例如查找A部门所有成员的的姓名和工资或者工资低于3000的人:
代码如下:

"""根据条件查询某行数据"""
import pandas as pd            #导入pandas库

excel_file = './try.xlsx'        #导入文件
data = pd.read_excel(excel_file)      #读入数据

print(data.loc[data['部门'] == 'A', ['姓名', '工资']])     #部门为A,打印姓名和工资
print(data.loc[data['工资'] < 3000, ['姓名','工资']])    #查找工资小于3000的人

结果如下:
在这里插入图片描述
若要把这些数据独立生成excel文件或者csv文件:
添加以下代码

"""导出为excel或csv文件"""
#单条件
dataframe_1 = data.loc[data['部门'] == 'A', ['姓名', '工资']]
#单条件
dataframe_2 = data.loc[data['工资'] < 3000, ['姓名', '工资']]
#多条件
dataframe_3 = data.loc[(data['部门'] == 'A')&(data['工资'] < 3000), ['姓名', '工资']]
#导出为excel
dataframe_1.to_excel('dataframe_1.xlsx')
dataframe_2.to_excel('dataframe_2.xlsx')

4.找出指定列

data['columns']  #columns即你需要的字段名称即可
#注意这列的columns不能是index的名称
#如果要打印index的话就data.index
data.columns  #与上面的一样

以上全过程用到的库:
pandas,xlrd , openpyxl

5.找出指定的行和指定的列

主要使用的就是函数iloc

data.iloc[:,:2]  #即全部行,前两列的数据

逗号前是行,逗号后是列的范围,很容易理解

6.在规定范围内找出符合条件的数据

data.iloc[:10,:][data.工资>6000]

这样即可找出前11行里工资大于6000的所有人的信息了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186739.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • python django环境搭建_python的django框架

    python django环境搭建_python的django框架Django是一个由Python编写的一个开放源代码的Web应用框架。使用Django,只要很少的代码,Python的开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的Web服务。Python+Django是快速开发、设计、部署网站的最佳组合。Django版本与Python环境的对应表如下,建议对照表来选择Django和Python版本,以免造成不兼容等问题。 Django版本 Python版本 …

    2022年9月7日
  • spring espect XX but YY

    spring espect XX but YY注入和查找问题HSFConsumerbean,注入的是beanName=’实际接口名’,type=’HSFSpringConsumerBean’,造成Autowire时查询出来的类型不匹配MybatisMapper的autowire为什么没有类型不匹配的问题,注入时是Mapper的代理类,查询出来却直接是Mapper实现类?@autowiredpr…

    2022年10月21日
  • BigDecimal的加减乘除及比较大小

    BigDecimal的加减乘除及比较大小BigDecimal的加减乘除及比较大小

    2022年4月23日
  • Linux下的文本编辑器vi

    Linux下的文本编辑器vi在终端中打开输入vi[文件],启动vi。vi有三种工作模式:命令模式、文本编辑模式、最后行模式。命令模式是启动vi进入的工作模式,在此模式下输入i,I,a,A,o,O,r,R命令中的任何一个即可进入文本编辑模式。此时在状态/命令区出现“—INSERT—”字样。在文本编辑模式下可输入文本内容,用上、下、左、右方向键移动光标,使用【Del】键和【Backspace】键删除字符,按【Esc】键回到…

    2022年7月26日
  • Mysqldump备份报错1449

    Mysqldump备份报错1449Mysqldump备份报错1449

    2022年4月24日
  • mapstate映射数组名(逆映射)

    mapState映射可以将State中的数据yourName映射到本地this.yourName,使用之前要将相应的文件引入state:页面组件:原本使用state中数据的方法:使用mapState之后:除了使用这种数组的方式,mapState里面也可以放一个对象意思是将公用数据中的city映射到此组件中的计算属性currentCity中…

    2022年4月14日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号