python下pandas库中读取指定⾏或列数据(excel或csv)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 lumns:
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)#读⼊数据
python怎么读入excelprint(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
_excel('dataframe_1.xlsx')
_excel('dataframe_2.xlsx')
4.出指定列
data['columns']#columns即你需要的字段名称即可
#注意这列的columns不能是index的名称
#如果要打印index的话就data.index
以上全过程⽤到的库:
pandas,xlrd , openpyxl
5.出指定的⾏和指定的列
主要使⽤的就是函数iloc
data.iloc[:,:2]#即全部⾏,前两列的数据
逗号前是⾏,逗号后是列的范围,很容易理解
6.在规定范围内出符合条件的数据
data.iloc[:10,:][data.⼯资>6000]
这样即可出前11⾏⾥⼯资⼤于6000的所有⼈的信息了

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。