將 CSV 載入資料表
到目前為止,你已經很熟練地把資料插入到資料表中了!接下來你要學的是,如何把 CSV 檔案的內容載入到資料表。
一種做法是逐行讀取 CSV,將每一行轉成字典,然後像前一題那樣用 insert()。
不過,用 pandas 有更快的方法。你可以用 read_csv() 函式把 CSV 檔讀成一個 DataFrame(你應該對這個函式不陌生,不過可以在主控台執行 help(pd.read_csv) 回憶一下!)。接著,對這個 DataFrame 呼叫 .to_sql()(文件)就能把它載入資料庫中的 SQL 資料表。DataFrame 的欄位需要和 SQL 資料表的欄位相符。
.to_sql() 有很多參數,但在這個練習中我們會用到以下幾個:
name:SQL 資料表名稱(字串)。con:你用來上傳資料的資料庫連線。if_exists:若資料表已存在於資料庫,要如何處理;可用值有"fail"、"replace"、"append"。index(True或False):是否將 DataFrame 的索引寫成一個欄位。
在這個練習中,你會把 census.csv 檔案中的資料上傳到已存在的 "census" 資料表。連線物件 connection 已經幫你建立好了。
本練習屬於課程
Python 資料庫入門
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# import pandas
import pandas as pd
# read census.csv into a DataFrame : census_df
census_df = pd.___(___, ___=___)
# rename the columns of the census DataFrame
census_df.columns = [___, ___, ___, 'pop2000', 'pop2008']