pandas(1):Pandas文件讀取——read_excel()


一、函數原型

pd.read_excel(io, sheet_name=0, header=0, 
	names=None, index_col=None, 
	usecols=None, squeeze=False, 
	dtype=None, engine=None, 
	converters=None, true_values=None, 
	false_values=None, skiprows=None, 
	nrows=None, na_values=None, 
	parse_dates=False, date_parser=None, 
	thousands=None, comment=None, 
	skipfooter=0, convert_float=True, **kwds)

二、功能說明

  將Excel文件讀取到pandas DataFrame中,支持本地文件系統或URL的’xls’和’xlsx’文件擴展名,帶有這兩種擴展名的文件,函數都可以處理。

三、常用參數說明

  • io參數

  io參數可以接受的有:str,Excel文件,xlrd.Book,路徑對象或類似文件的對象。其中最常用的是str,一般是文件路徑+文件名,需要注意的是文件名字不要漏掉后綴,即文件擴展名,表明文件類型的那個!有時候需要對路徑中的”\”進行轉義,io參數沒有默認值,必須傳入。

# jupter notebook環境中不需要對"\"進行轉義
pd.read_excel(r"C:\Users\asus\Desktop\test.xlsx")
# pd.read_excel(r"C:\\Users\\asus\\Desktop\\test.xlsx")
# jupter notebook、Windows環境下,用"/"可以文件名聯想
pd.read_excel(r"C:/Users/asus/Desktop/test.xlsx")

tips:要不要轉義可能和編輯器、操作系統有關。建議都寫成最后一種形式。

  • sheet_name參數

  通過sheet位置或sheet名字來指定讀入哪個sheet的數據。
  當一個excel工作簿中包含有很多個sheet工作表時,sheet_name用於決定導入那個sheet表單。可以接收的參數類型有:str,int,list或None,默認0。其中,str代表“工作表名稱”;整數用於零索引工作表位置;字符串/整數列表用於請求多個工作表;None獲取所有工作表;默認0,獲取第一個工作表

# 導入第一個工作表,索引從0開始,傳參類型為int
pd.read_excel(r"C://Users//asus//Desktop/test.xlsx",sheet_name=0)
# 導入表名為“data1”的工作表,傳參類型為str
pd.read_excel(r"C://Users//asus//Desktop/test.xlsx",sheet_name="data1")
# 導入第一個和第三個工作表,傳參類型為int型列表
pd.read_excel(r"C://Users//asus//Desktop/test.xlsx",sheet_name=[0,2])
  • header參數

  指定哪一行作為列名的,默認值是0,即第1行作為列名。
  接受的參數可以是:整數(指定第幾行作為列名);有整數組成的列表(指定哪幾行作為列名);None(沒有列名,Python自動生成0始序列)

# 列名為從0開始的序列
pd.read_excel(r"C://Users//asus//Desktop/test.xlsx",header=None)
# 第3行當列名
pd.read_excel(r"C://Users//asus//Desktop/test.xlsx",header=2)
# 第3,5行當列名
pd.read_excel(r"C://Users//asus//Desktop/test.xlsx",header=[2,4])
  • names參數

  表示要使用的列名列表,也就是說可以自定義列名。一般傳入字符型列表。默認是None。
  若設置了names參數,同時也設置了header參數,此時header=n表示從第n+2行開始導入數據。
  header = None和names參數都設置的話,依然會顯示names指定的列名,從第一行開始導入數據。

# 從第2行開始導入數據
pd.read_excel(r"C:/Users/asus/Desktop/test.xlsx",header=0,names=["a","b","c"])
# 從第1行開始導入數據
pd.read_excel(r"C:/Users/asus/Desktop/test.xlsx",header=None,names=["a","b","c"])

index_col參數

  指定用哪一列做為索引。參數接收整數,或者由整數組成的列表,默認是None。和header參數類似。

usecols參數

  控制導入的哪幾列(當列數過多時)。接收整數(列的位置),字符(列名稱)或者類似列表的序列。如果設置了names參數,注意設置的列名個數要和讀取的列數一致

squeeze參數

  接收布爾值,當取值為True的時候,如果解析的數據僅包含一列,則返回Series。默認值是False,即只有一列也返回Dataframe。

dtype參數

  輸入表示數據類型的名稱字符或者字典,如果輸入的是字符表示整個表格的數據都轉換成指定的數據類型,如果輸入的是字典,那么每個字段可以指定不同的數據類型。
假如整個表格中既有文本又有數值,如果要設置成統一的數據類型只能設置成字符型。

返回值:DataFrame數據框對象或Series對象(squeeze參數控制)

四、總結

  參數能控制啥?哪1個或幾個表(假若是多表)、哪幾行或幾列、數據重哪行開始導入、列名和行索引等等


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM