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.根據條件查詢找到指定行數據
例如查找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_1.to_excel('dataframe_1.xlsx')
dataframe_2.to_excel('dataframe_2.xlsx')
3找出指定列
data['columns'] #columns即你需要的字段名稱即可
#注意這列的columns不能是index的名稱
#如果要打印index的話就data.index
以上全過程用到的庫:
pandas,xlrd , openpyxl