上篇教如何快速使用Google Sheet
取得資料,並且匯出資料。其實Python也可以很快的取得資料,也是用網路上的資源,這次是使用Yahoo Finance
的資源。
不過在這之前需要一些環境設定,未來幾天會為這些做準備與動作,一一介紹。
可參考:https://www.finlab.tw/用爬蟲爬全世界股價/#shi_yong_Google_Colab_lai_xie_Python
要取得資料的話,需要幾個套件,分別是:
因為一開始的Python沒有,所以需要安裝。
Python有個特性,就是可以製作虛擬作業環境,讓不同的工作進行區分,假設我們分成兩個部分,一個是抓數據,一個是製作圖表(其實放在一起也可以,只是為了舉例而已),前者的工作環境可以只安裝requests
,如果是後者,可以僅安裝pandas
,如果都要做,就可以在該工作環境安裝這三個套件(requests
、numpy
、pandas
)。
首先就是要安裝虛擬環境。
以先前的經驗,如果用內建的virtual environment(可參考官方文件說明),使用下列指令來建立虛擬環境資料夾:
python3 -m venv tutorial-env
然後再啟動他:
source tutorial-env/bin/activate
不過有個更厲害的套件,就是pipenv
。他可以順利的建立虛擬環境,並且快速安裝所需的套件。但是在安裝pipenv
之前,先要安裝好pip
這個Python專門用來安裝套件的套件(?)
首先先檢查是否有安裝:
python3 -m pip -v
如果有跳出錯誤訊息,說找不到的話,就直接安裝pip
(需要su
的權限):
sudo easy_install pip
接著就可以安裝pipenv
:
pip install pipenv
然後是建立我們所需要的虛擬環境,因為是在Python3,所以直接在所屬的程式資料夾中輸入(如下圖):
pipenv --three
然後他就會在該資料夾下產生Pipfile
的檔案,就是如上圖中的第3個區塊,看到這個就大功告成囉~
而虛擬環境另外放在:
app_data_dir=/Users/(username)(你的帳號)/Library/Application Support/virtualenv
接著我們就安裝所需的套件:
分別打入指令:
pipenv install requests
pipenv install numpy
pipenv install pandas
會突然發現,多了個Pipfile.lock
檔案,裡面就是存放我們使用pipenv
在這個環境下,所安裝的套件與版號,是用來管理套件的地方。而我們的Pipfile
,也會多了個紀錄,說我們這個虛擬環境下各套件所需的版本。
在Pipfile
會紀錄(僅以requests做範例):
[packages]
requests = "*"
而在Pipfile.lock
則顯示:
{
"_meta": {
"hash": {
"sha256": "acbc8c4e7f2f98f1059b2a93d581ef43f4aa0c9741e64e6253adff8e35fbd99e"
},
"pipfile-spec": 6,
"requires": {
"python_version": "3.8"
},
"sources": [
{
"name": "pypi",
"url": "https://pypi.org/simple",
"verify_ssl": true
}
]
},
"default": {
......,
"requests": {
"hashes": [
"sha256:b3559a131db72c33ee969480840fff4bb6dd111de7dd27c8ee1f820f4f00231b",
"sha256:fe75cc94a9443b9246fc7049224f75604b113c36acb93f87b80ed42c44cbb898"
],
"index": "pypi",
"version": "==2.24.0"
},
"urllib3": {
"hashes": [
"sha256:91056c15fa70756691db97756772bb1eb9678fa585d9184f24534b100dc60f4a",
"sha256:e7983572181f5e1522d9c98453462384ee92a0be7fac5f1413a1e35c56cc0461"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'",
"version": "==1.25.10"
}
},
"develop": {}
}
後記:
這邊先設定好基本所需的套件,這幾個套件會一直使用,所以這個部分還滿重要的。
會特別提出來的原因,最主要是剛入門時候,因為對語言不熟悉,很容易不知要如何進行,尤其是環境設定的部分,更是令人頭大,所以會在這比較緩慢的前進。
參考資料: