tft每日頭條

 > 科技

 > pandas讀取excel數據是什麼格式

pandas讀取excel數據是什麼格式

科技 更新时间:2024-10-05 17:06:43

pandas讀取excel數據是什麼格式(一個參數一張Excel表)1

pandas讀取excel數據是什麼格式(一個參數一張Excel表)2

作者 | 黃偉呢

來源 | 數據分析與統計學之美

我覺得很有必要講述這個文章,進行數據處理的第一步就是Python數據讀取。但是你可能沒想到,在進行數據讀取的同時,我們其實可以配合相關參數做很多事兒,這對于後續的數據處理都是極其有幫助。

read_excel函數和read_csv函數,在參數上面有很多相同點,因此我就以read_excel函數為例,進行詳細的說明。

pandas讀取excel數據是什麼格式(一個參數一張Excel表)3

1)sheet_name參數
  • 含義:選擇要讀取的sheet表;

  • sheet_name=0表示默認讀取第一個sheet表,等同于sheet_name=“sheet名稱”;

  • sheet_name=[“sheet名”,0]會返回一個字典,然後可以利用鍵獲取每一個sheet表中的數據;

  • sheet_name=None也會返回一個字典,但是會返回全部的sheet表;

① sheet_name=0和sheet_name="Sheet1"

# 下面這兩個讀取方式等同。

② sheet_name=[“sheet名”,0]

df2 = pd.read_excel("readexcel.xlsx",sheet_name=[0,1])

df2

結果如下:

pandas讀取excel數據是什麼格式(一個參數一張Excel表)4

接着,我們可以使用鍵值對的方式,獲取每個sheet表中的數據。

pandas讀取excel數據是什麼格式(一個參數一張Excel表)5

注:關于sheet_name=None效果同上,隻不過會返回所有的sheet表中的數據。

2)header參數

  • 含義:指定某一行作為表頭;

  • header=None專門針對沒有表頭的表,這也是默認值;

  • header=1指定第一行作為表頭;

  • header=主要針對複合表頭的情況;

① header=None

df3 = pd.read_excel("header.xlsx",header=None)

df3

結果如下:

pandas讀取excel數據是什麼格式(一個參數一張Excel表)6

② header=1

df3 = pd.read_excel("header.xlsx",sheet_name=2,header=1)

df3

結果如下:

pandas讀取excel數據是什麼格式(一個參數一張Excel表)7

③ header=

df3 = pd.read_excel("header.xlsx",sheet_name=3,header=[0,1],index_col=0)

df3

結果如下:

pandas讀取excel數據是什麼格式(一個參數一張Excel表)8

注意:上述用到了一個index_col參數,這個參數用于指定作為行索引的列,我就不詳細舉例了,看看下圖。

pandas讀取excel數據是什麼格式(一個參數一張Excel表)9

3)usecols參數

  • 含義:選擇讀取一張表中的指定列;

  • usecols=None也是默認情況,表示讀取所有列;

  • usecols=[A,C]表示隻選取A列和C列。usecols=[A,C:E]表示選擇A列,C列、D列和E列;

  • usecols=[0,2]表示隻選擇第一列和第三列;

  • usecols=["列名1","列名2"...]這也是推薦使用的一種寫法;

① usecols=None

df4 = pd.read_excel("usecols.xlsx",usecols=None) # 默認

df4

結果如下:

pandas讀取excel數據是什麼格式(一個參數一張Excel表)10

② usecols=[A,C]

df4 = pd.read_excel("usecols.xlsx",usecols="A,C")

df4

結果如下:

pandas讀取excel數據是什麼格式(一個參數一張Excel表)11

③ usecols=[A,C:D]

df4 = pd.read_excel("usecols.xlsx",usecols="A,C:D")

df4

結果如下:

pandas讀取excel數據是什麼格式(一個參數一張Excel表)12

④ usecols=[0,2]

df4 = pd.read_excel("usecols.xlsx",usecols=[0,2])

df4

結果如下:

pandas讀取excel數據是什麼格式(一個參數一張Excel表)13

⑤ usecols=["列名1","列名2"...]

這種方式照說是沒有任何問題的,但是在我這邊運行總是無結果,我很納悶,大家可以下去試試。

4)names參數

  • 含義:如果表中沒有表頭,可以用這個參數添加一個标題。如果表中有表頭,可以用這個參數修改标題。

names = ["月份","語文","英語"]

df6 = pd.read_excel("names.xlsx",header=None,names=names)

df6

結果如下:

pandas讀取excel數據是什麼格式(一個參數一張Excel表)14

5)dtype參數

  • 含義:讀取數據時,設置每一列的數據類型(重要);

  • dtype={}傳入一個字典,類似于{"列名":"類型"};

df7 = pd.read_excel("dtype.xlsx")

df7.dtypes

------------------------------------------------------

df7 = pd.read_excel("dtype.xlsx",dtype={"年齡":"str"})

df7.dtypes

結果如下:

pandas讀取excel數據是什麼格式(一個參數一張Excel表)15

6)parse_dates參數

  • 含義:指定将哪些列,解析為日期格式;

  • parse_dates=True是專門用于将行索引,解析為日期格式;

  • parse_dates=[0,1,2,3,4]和parse_dates=["列名1","列名2","列名3","列名4"],都是将指定列一起解析為日期格式;

  • parse_dates=[[1,2,3]]和parse_dates=[["年","月","日"]],都是将多個列,解析為單個日期列;

  • parse_dates={"日期":[1,2,3]}不僅将多個日期列解析為單個日期列,同時還為這一列命名;

① parse_dates=True

df8 = pd.read_excel("parse_dates",index_col=2,parse_dates=True)

df8.index

結果如下:

pandas讀取excel數據是什麼格式(一個參數一張Excel表)16

② parse_dates=[0,1]和parse_dates=["列名1","列名2"]

df8 = pd.read_excel("parse_dates",parse_dates=[0,1,2,3,4])

df8.dtypes

# 這個代碼效果同上

df8 = pd.read_excel("parse_dates.xlsx",

parse_dates=["數值日期1","文本日期2","文本日期3","文本日期4","文本日期5"])

結果如下:

pandas讀取excel數據是什麼格式(一個參數一張Excel表)17

③ parse_dates=[[1,2,3]]和parse_dates=[["年","月","日"]]

#df8 = pd.read_excel("parse_dates.xlsx",sheet_name="Sheet2",parse_dates=[["年","月","日"]])

df8 = pd.read_excel("parse_dates.xlsx",sheet_name="Sheet2",parse_dates=[[1,2,3]])

df8

結果如下:

pandas讀取excel數據是什麼格式(一個參數一張Excel表)18

④ parse_dates={"日期":[1,2,3]}

df8 = pd.read_excel("parse_dates.xlsx",sheet_name="Sheet2",parse_dates={"日期":[1,2,3]})

df8

結果如下:

pandas讀取excel數據是什麼格式(一個參數一張Excel表)19

7)date_parser參數

  • 含義:利用lambda函數,将某個字符串列,解析為日期格式;

  • 一般是配合parse_dates參數,一起使用;

df9 = pd.read_excel("date_parser.xlsx",parse_dates=[1],

date_parser=lambda x: pd.to_datetime(x,format="%Y年%m月%d"))

print(df9.dtypes)

df9

結果如下:

pandas讀取excel數據是什麼格式(一個參數一張Excel表)20

8)na_values參數

  • 含義:用于将某些特定的值,解析為NaN值,然後便于我們後面做缺失值的處理;

  • na_values=”值1“表示将所有數據中值1全部替換為NaN;

  • na_values=[”值1“,"值2"]表示将所有數據中值1、值2全部替換為NaN;

  • na_values={"列1":[”值1“,"值2"]}表示将第一列中所有的值1、值2全部替換為NaN;

① na_values=”值1“

df10 = pd.read_excel("na_values.xlsx",na_values=" ")

df10

結果如下:

pandas讀取excel數據是什麼格式(一個參數一張Excel表)21

② na_values=[”值1“,"值2"]

df10 = pd.read_excel("na_values.xlsx",na_values=["a","0"])

df10

結果如下:

pandas讀取excel數據是什麼格式(一個參數一張Excel表)22

③ na_values={"列1":[”值1“,"值2"]}

# 隻替換某一列中的某些值為NaN

df10 = pd.read_excel("na_values.xlsx",na_values={"列2":["0"," "]})

df10

結果如下:

pandas讀取excel數據是什麼格式(一個參數一張Excel表)23

9)converters參數

  • 含義:對某一列使用Lambda函數,進行某種運算;

  • 例如:converters={"工資":lambda x: x 1000};

df11 = pd.read_excel("converters.xlsx",

converters={"地址":lambda x: "中國" x,"工資":lambda x: x 1000})

df11

結果如下:

pandas讀取excel數據是什麼格式(一個參數一張Excel表)24

pandas讀取excel數據是什麼格式(一個參數一張Excel表)25

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved