
介紹
pandas
很容易将Excel檔案讀取為
DataFrame
,但是在現實中,Excel檔案裡面的資料格式往往是不規範的,在那些資料分散在不同Sheet的情況下,就需要自定義讀取資料的方式,這篇文章将讨論如何用
pandas
和
openpyxl
讀取這類格式的Excel檔案,将裡面的資料轉換為
DataFrame
以便進一步的分析工作。
資料的問題
pandas
内的
read_excel
方法在讀取Excel工作表方面非常高效好用,無論如何,當資料在表中不是以連續的形式存儲的話,讀取出來的資料可能就和預期的不同了。
當你嘗試用
read_excel
讀取下面圖中所示的這種資料格式時:
你将得到如下結果:
上面的結果包含了很多
Unnamed
的列。
Pandas 解決方案
最簡單的方案
此資料集的最簡單解決方案是在
read_excel()
方法中使用
header
和
usecols
參數,特别是
usecols
對于控制想要提取的資料列很有用。
這些例子的所有檔案都在github
下面是一種我們提取資料的方法:
import pandas as pd
from pathlib import Path
src_file = Path.cwd() / 'shipping_tables.xlsx'
df = pd.read_excel(src_file, header=1, usecols='B:F')