溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么用python?pandas庫讀取excel/csv中指定行或列數(shù)據(jù)

發(fā)布時間:2022-03-01 09:10:19 來源:億速云 閱讀:654 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“怎么用python pandas庫讀取excel/csv中指定行或列數(shù)據(jù)”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

引言

關(guān)鍵?。。?!使用loc函數(shù)來查找。

話不多說,直接演示:

有以下名為try.xlsx表:

怎么用python?pandas庫讀取excel/csv中指定行或列數(shù)據(jù)

1.根據(jù)index查詢

條件:首先導(dǎo)入的數(shù)據(jù)必須的有index

或者自己添加吧,方法簡單,讀取excel文件時直接加index_col

代碼示例:

import pandas as pd                      #導(dǎo)入pandas庫

excel_file = './try.xlsx'               #導(dǎo)入excel數(shù)據(jù)
data = pd.read_excel(excel_file, index_col='姓名')        
#這個的index_col就是index,可以選擇任意字段作為索引index,讀入數(shù)據(jù)
print(data.loc['李四'])

打印結(jié)果就是

部門 B
工資 6600
Name: 李四, dtype: object
(注意點:索引)

2.已知數(shù)據(jù)在第幾行找到想要的數(shù)據(jù)

假如我們的表中,有某個員工的工資數(shù)據(jù)為空了,那我們怎么找到自己想要的數(shù)據(jù)呢。

代碼如下:

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)

原理很簡單,首先檢索全部的數(shù)據(jù),然后我們可以用pandas中的iloc函數(shù)。上面的iloc[j, [2]]中j是具體的位置,【0】是你要得到的數(shù)據(jù)所在的column

3.根據(jù)條件查詢找到指定行數(shù)據(jù)

例如查找A部門所有成員的的姓名和工資或者工資低于3000的人:

代碼如下:

"""根據(jù)條件查詢某行數(shù)據(jù)"""
import pandas as pd            #導(dǎo)入pandas庫

excel_file = './try.xlsx'        #導(dǎo)入文件
data = pd.read_excel(excel_file)      #讀入數(shù)據(jù)

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

結(jié)果如下:

怎么用python?pandas庫讀取excel/csv中指定行或列數(shù)據(jù)

若要把這些數(shù)據(jù)獨立生成excel文件或者csv文件:

添加以下代碼

"""導(dǎo)出為excel或csv文件"""
#單條件
dataframe_1 = data.loc[data['部門'] == 'A', ['姓名', '工資']]
#單條件
dataframe_2 = data.loc[data['工資'] < 3000, ['姓名', '工資']]
#多條件
dataframe_3 = data.loc[(data['部門'] == 'A')&(data['工資'] < 3000), ['姓名', '工資']]
#導(dǎo)出為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.找出指定的行和指定的列

主要使用的就是函數(shù)iloc

data.iloc[:,:2]  #即全部行,前兩列的數(shù)據(jù)

逗號前是行,逗號后是列的范圍,很容易理解

6.在規(guī)定范圍內(nèi)找出符合條件的數(shù)據(jù)

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

這樣即可找出前11行里工資大于6000的所有人的信息了

“怎么用python pandas庫讀取excel/csv中指定行或列數(shù)據(jù)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI