程式語言-股票資料存檔

難易程度★★

--

此篇文章使用 Anaconda的 Jupyter寫程式,測試環境 python3.6,事先完成 pandas、numpy、twstock及sqlite3套件安裝

這篇使用【資料庫】儲存股票資料

新手爬蟲時,常常會遇到一件事就是…

電腦拒絕連線…OOXX

存檔方式

參考了多篇文章,發現原來pandas裡的dataframe裡有存檔的功能

主要可以使用三種方式:

  1. 存成csv
  2. 存成excel
  3. 存進sql資料庫裡,不過在傳統模式dataframe好像只適用sqlite3

安裝軟體

可至以下連結安裝sqlite的database

資料可能會存在C:\Program Files\DB Browser for SQLite

未來開啟檔案,1. 選擇此資料夾 2. 點選DB Browser for SQLite.exe 的執行檔

程式解析

  1. 從『導入套件』到『爬蟲』都與上一篇一模一樣,這裡不再贅述

2. 用to_csv存檔

這裡試看看編碼有無差異,發現因為twstock下載的資料都是英文,所以可以不用utf_8編碼

(左圖)沒編碼 (右圖)有編碼

3. 用to_sql存檔

(1)先導入套件

(2)開啟一個名為”股票代號.db”的檔案,並與sqlite3的資料庫連結

(3)df的資料用to_sql()的方法存入,檔名為sid,資料庫來源就是con,如果資料庫有已存在檔案就替換掉

猛然發現Anaconda已幫我添加了sqlite3的套件

可以看到sqlite資料庫裡的長相就是如此,檔名就是2330,df的鍵(key)在檔名底下,每一個鍵裡都有爬下來的值(value)

Database Structure
Browse Data

附上原始程式碼

這次的教學教了

  1. 溫習前面爬蟲課程
  2. 學習使用sqlite3套件安裝
  3. 使用to_csv的方法
  4. 了解utf_8編碼對twstock下載資料沒影響
  5. 使用to_sql的方法及參數意義

--

--