【Pandas 操作練習】使用Python Pandas 讀取實價登錄網的資料

學習於: 2021年1月5號

這次練習的是內政部不動產交易實價查詢服務網,學習來源:大樹數據YouTube

點擊右下角的 Open Data 免費下載及批次資料申請,會來到以下畫面

選擇最新的資料,CSV 格式,下載後解壓縮放到 lvrdata 文件夾底下。

如果要使用資料,建議用 csv 檔。

點擊 a_lvr_land_b.csv

開啟的檔案長這樣

把 csv 檔案放到和 python 檔案同樣文件夾底下。

import pandas as pd#pandas 是個 dataframe
df = pd.read_csv('a_lvr_land_b.csv')
df

這樣就讀得到檔案了。

如果加上 encoding=’big5′ 會出現 unicode decode error

import pandas as pd#pandas 是個 dataframe
df = pd.read_csv('a_lvr_land_b.csv',encoding='big5')
df

這時候需要清除不要的 byte,先下載 git

下載多個季度的資料,放在 lvrdata2 底下。

命名為 109_3,109_2,109_1。

import os
for f in os.listdir('lvrdata2'):
    print (f)

會出現下載的檔案名稱

把 f 替代進路徑裡頭

import os
for f in os.listdir('lvrdata2'):
    path = 'lvrdata2/{}/a_lvr_land_b.csv'
    print (path.format(f))
    #把 f 替代進路徑裡頭

自動產生路徑結果:

lvrdata2/109-3/a_lvr_land_b.csv
lvrdata2/109_1/a_lvr_land_b.csv
lvrdata2/109_2/a_lvr_land_b.csv
# 學習來自:https://www.youtube.com/watch?v=EGnAxXmQC6Y
import pandas as pd #pandas 是個 dataframe
import os
dflist=[]
for f in os.listdir('lvrdata2'):
    path = 'lvrdata2/{}/a_lvr_land_b.csv'
    #print (path.format(f))
    #把 f替代進路徑裡頭
    df = pd.read_csv(path.format(f))
    dflist.append(df)
    #dflist 包含多個 dataframe

輸出 dflist 的長度

len(dflist) #下載3個,所以只有3個 dataframe
輸出結果: 3

把 dataframe 合併在一起

#把 dataframe 合併在一起
df_all=pandas.concat(dflist)

輸出 df_all 的長度

df_all.head()
print(df_all)

得到數據統計

#得到數據統計
df_all.describe()

pandas 的 dataframe 可以接很多接口,可以從很多來源來讀取資料。

可以把得到的 dataframe 寫道不同的媒介之中。

#pandas 的 dataframe 可以接很多接口,可以從很多來源來讀取資料
#可以把得到的 dataframe 寫道不同的媒介之中
df_all.to_excel('lvr_data.xlsx')

這時候就可以看到 lvr_data.xlsx 已經成功寫入了。

Leave a Comment

Your email address will not be published. Required fields are marked *