阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

python pandas库读取excel/csv中指定行或列数据详解

108次阅读
没有评论

共计 1466 个字符,预计需要花费 4 分钟才能阅读完成。

导读 通过阅读表格, 可以发现 Pandas 中提供了非常丰富的数据读写方法, 下面这篇文章主要给大家介绍了关于 python 利用 pandas 库读取 excel/csv 中指定行或列数据的相关资料, 需要的朋友可以参考下
引言

关键!!!!使用 loc 函数来查找。

话不多说,直接演示:

有以下名为 try.xlsx 表:

python pandas 库读取 excel/csv 中指定行或列数据详解

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['工资'] 

结果如下:

python pandas 库读取 excel/csv 中指定行或列数据详解

若要把这些数据独立生成 excel 文件或者 csv 文件:

添加以下代码

"""导出为 excel 或 csv 文件"""
#单条件
dataframe_1 = data.loc[data['部门'] == 'A', ['姓名', '工资']]
#单条件
dataframe_2 = data.loc[data['工资'] 
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 的所有人的信息了

到此这篇关于 python pandas 库读取 excel/csv 中指定行或列数据的文章就介绍到这了

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1466字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中