首頁 > 軟體

Python使用pandas匯入xlsx格式的excel檔案內容操作程式碼

2022-12-25 14:01:38

Python使用pandas匯入xlsx格式的excel檔案內容

1. 基本匯入

在 Python中使用pandas匯入.xlsx檔案的方法是read_excel()。

# coding=utf-8
import pandas as pd

df = pd.read_excel(r'G:test.xlsx')
print(df)

電腦中的檔案路徑預設使用,這個時候需要在路徑前面加一個r(跳脫符)避免路徑裡面的被跳脫。也可以不加 r,但是需要把路徑裡面的所有轉換成/,這個規則在匯入其他格式檔案時也是一樣的,我們一般選擇在路徑前面加r

2. 列標題與資料對齊

因為我們的表格中有中文,中文佔用的字元和英文、數位佔用的字元不一樣,因此需要呼叫pd.set_option()使表格對齊顯示。如果你是使用 Jupyter 來執行程式碼的,Jupyter 會自動渲染出一個表格,則無需這個設定。

import pandas as pd
#處理資料的列標題與資料無法對齊的情況
pd.set_option('display.unicode.ambiguous_as_wide', True)
#無法對齊主要是因為列標題是中文
pd.set_option('display.unicode.east_asian_width', True)
df = pd.read_excel(r'G:test.xlsx')
print(df)

效果如下:

3. 指定匯入某個sheet

通過sheet_name引數可以指定要匯入哪個sheet的內容。注意這裡的名字是區分大小寫的。

import pandas as pd
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
df = pd.read_excel(r'G:test.xlsx', sheet_name='Sheet1')
print(df)

除了可以指定具體的sheet名字,還可以傳入sheet的index下標,從0開始計數。例如:

# coding=utf-8
import pandas as pd
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
df = pd.read_excel(r'G:test.xlsx', sheet_name=0)
print(df)

如果不指定sheet_name引數,那麼預設匯入的都是第一個sheet的內容。

4. 指定行索引

在本地檔案匯入DataFrame時,行索引使用的從0開始的預設索引,可以通過設定index_col引數來設定。

# coding=utf-8
import pandas as pd
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
df = pd.read_excel(r'G:test.xlsx', sheet_name=0, index_col=0)
print(df)

5. 指定列索引

將本地檔案匯入DataFrame時,預設使用源資料表的第一行作為列索引,也可以通過設定header引數來設定列索引。 header引數值預設為0,即用第一行作為列索引;也可以是其他行,只需要傳入具體的那一行即可;也可以使用預設從0開始的數作為列索引。

使用預設從0開始的數作為列索引示意:

# coding=utf-8
import pandas as pd
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
df = pd.read_excel(r'G:test.xlsx', sheet_name=0, header=None)
print(df)

6. 指定匯入列

有的時候本地檔案的列數太多,而我們又不需要那麼多列時,我們就可以通過設定usecols引數來指定要匯入的列。

從引數的形式來看,可以通過以下幾種形式來指定:

  • 通過列表指定,列表中是列的下標,從0開始計數。
  • 通過列表指定,列表中是列的名字
  • 通過元組指定, 元組中是列的名字

範例如下:

df = pd.read_excel(r'G:test.xlsx', sheet_name=0, usecols=[0,1])
print(df)

df = pd.read_excel(r'G:test.xlsx', sheet_name=0, usecols=['姓名','性別'])
print(df)

df = pd.read_excel(r'G:test.xlsx', sheet_name=0, usecols=('姓名','年齡'))
print(df)

7. 指定匯入的行數

如果檔案很大,我們不想匯入全部的行,只需要匯入前面若干行進行分析即可,那麼可以通過nrows引數來指定匯入多少行資料

df = pd.read_excel(r'G:test.xlsx', sheet_name=0, nrows=2)
print(df)

8. 更多的引數

請參考pandas官方檔案。

到此這篇關於Python使用pandas匯入xlsx格式的excel檔案內容的文章就介紹到這了,更多相關Python 匯入xlsx格式的excel檔案內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com