使用 Python 讀取 csv 和 xlsx 檔

今天要來討論怎麼把檔案“讀到”Jupyter Notebook當中。你可能會想:為什麼要把檔案讀到Jupyter Notebook中呢?一般的表格的資料會以.csv和.xlsx的形式儲存,而我們會利用Office 中的 Excel 來閱讀或是修改這類的檔案類型。而今天我們的作法是要將他們讀到Jupyter Notebook 中,並利用 Python 來做資料的整理,不過問題來了,既然我們可以使用Excel來操作資料,為什麼還要多學 Python 呢?恩…這個問題如果你未來持續追蹤TinyCorner,你就會知道 Python 處理資料用起來有多爽了~ 好啦簡單來說,Excel 所提供的視覺化界面是非常直覺的操作方式,但是在處理大量資料或是多個 Data 來源的時候,就會發現綁手綁腳,而且未來遇到類似的資料,也很難用同套處理方式。利用Python 來整理資料,只要你熟悉語法,感覺起來就會像是你叫一個小弟:欸欸,幫我把這兩個資料表合併成一個表格,並且幫我做…的分析,喔 對了順便幫我把他們視覺化的圖表做出來。他就會幫你整理出你要的資料,這種爽感只能意會不能言傳,希望大家將來也可以利用 Python 來減輕工作的 Loading 量,現在就開始進入教學吧~
(這邊可以先下載後面會用到的兩個資料,City_Zhvi_AllHomesgdplev)

1.確認檔案類型:

常見的表格檔案有兩種:.csv和.xlsx。可以對著檔案點選右鍵,再接著點進內容中,就可以看到檔案類型。其中.csv可以用記事本打開,而.xlsx 則是 Office 特有的檔案,要用Excel打開才行。Python 支援這兩種語法的讀取,只是讀取的方式有小小的差異。

2.讀取檔案:

(這邊先說讀取資料路徑有兩種方式:第一種是把你要讀取的檔案跟你的程式碼放在同一個資料夾,程式就會自己去抓;第二種是跟電腦講說你要讀取的檔案存在那邊。一般來說我比較喜歡第一種作法,因為這樣比較好掌握檔案的位置,若是使用第二種方法,要讀取的檔案位置變更的話,程式碼也要跟著跟動。所以下面是使用第一種方法,不過我會在附註放入第二種作法,大家有興趣可以參考~)

首先先在Jupyter Notebook中創立一個資料夾,點進去開啟新的 Python 專案。另外,把 .csv 和 .xlsx 兩種檔案丟進去,就可以準備開始讀檔囉~

回到Jupyter Notebook頁面,進入TinyCorner_ex的資料夾中會看到檔案已經跑到這個資料夾囉~接著建立新的 Python3,就可以開始寫程式囉~

首先先讀取 .xlsx 檔,用前面兩行把資料讀進來,第三行用來顯示前十五筆資料:

import pandas as pd
df = pd.read_excel("gdplev.xlsx")
df.head(15)

其中我們需要使用 read_excel 來讀取資料,但是他是寫在 pandas 套件中,第一行是跟電腦說我需要使用 pandas 這個套件,而且把他取作 pd;
第二行 df 使創造一個地方給我們的資料儲存, pd 則是叫電腦去找 pandas 裡面的read_excel 功能,然後資料就被存到 df 中囉~
第三行則是把第三行的資料叫出來,head(15) 代表叫出前十五筆資料(可以視需求更改)

接著是要讀取.csv

import pandas as pd
df_2 = pd.read_csv("City_Zhvi_AllHomes.csv")
df_2.head(15)

挖恭喜你啊~你已經學會兩種不同資料的讀法了,
不過別開心的太早,大家仔細看 gdplev 的資料!!!!!!!有沒有發現資料的型態好像怪怪的…沒錯大部分你抓的資料格式都不會依照你所想的幫你整理好,所以接下來會慢慢的教大家怎麼樣把資料整理乾淨~~

附註(輸入路徑來存取):
這邊提供第二種存取檔案的方式,你可以直接輸入檔案的路徑位置來告知程式檔案的位置,假設檔案是存在 D 槽中的 tinycorner 資料夾(大家可以依照自己的檔案位置修改),程式碼如下:

import pandas as pd
df = pd.read_excel(r"D:\tinycorner\gdplev.xlsx")
df.head(15)

import pandas as pd
df = pd.read_csv(r"D:\tinycorner\City_Zhvi_AllHomes.csv")
df.head(15)

會得到一樣的輸出結果~

如果想取得更多不一樣的資料來源,可以參考這篇:數據來源介紹 — 政府資料開放平臺

Facebook Comments

發表迴響