程式語言-股票爬蟲(含0050)

難易程度★★

--

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

前一篇 程式語言-股票爬蟲 裡用短短幾行就把台股當日資料抓下來,但ETF台灣 50(0050) 居然不見了

這個問題出在當初0050前面有個 '=' 號,被我們篩選掉了

有鑑於此,我們決定慢慢解析dataframe裡的資料,看看如何試圖找回

上次我們分解原碼為aa, bb, cc, dd, ee等五部分,來看一下其個別的資料型態

跟不上進度請回 程式語言-股票爬蟲 課程先看一下

個別資料型態

結果為

aa:字典 bb:列表 cc:列表 dd:字串 ee:系統空間

要把 '=' 拿掉,最常見的寫法就是用replace(取代)的方式,文件寫法如下

所以要用replace前面一定要是string(字串)

也就是dd的型態可以做這個動作

我們把程式碼做個修改,cc後面的條件刪掉

改成這樣

dd已經變成string的型式了,但0050前面還是有 '='

此時,套入公式,'=' 不見了

後面的程序一樣,我就不再贅述

原始碼如下

課後補充

可以看到上面的表格有一些無用的資料,例如 '漲跌(+/-)' 'Unnamed: 16'

要如何刪去呢??

drop(刪除)可以解決這個問題

若要刪除一欄(column),須設定dataframe的軸為axis=1

補充說明:欄 (axis = 1) , 列 (axis = 0)

出來的效果一樣~~而且還含0050~~(灑花)

這次的教學教了

  1. 優化程式
  2. replace的用法
  3. drop的用法
  4. axis的設定

--

--