python pandas庫讀取excel/csv中指定行或列資料詳解

roc_guo發表於2022-03-16
導讀 通過閱讀表格,可以發現Pandas中提供了非常豐富的資料讀寫方法,下面這篇文章主要給大家介紹了關於python利用pandas庫讀取excel/csv中指定行或列資料的相關資料,需要的朋友可以參考下
引言

關鍵!!!!使用loc函式來查詢。

話不多說,直接演示:

有以下名為try.xlsx表:

python pandas庫讀取excel/csv中指定行或列資料詳解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['工資'] < 3000, ['姓名','工資']])    #查詢工資小於3000的人

結果如下:

python pandas庫讀取excel/csv中指定行或列資料詳解python pandas庫讀取excel/csv中指定行或列資料詳解

若要把這些資料獨立生成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的所有人的資訊了

到此這篇關於python pandas庫讀取excel/csv中指定行或列資料的文章就介紹到這了

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2871312/,如需轉載,請註明出處,否則將追究法律責任。

相關文章