Python 判斷檔案的語系編碼 UTF-8、Big5

Python3 要開啟、讀取檔案時,若不是 UTF-8,會需要輸入檔案的語系編碼,Python 會自動都轉換成 UTF-8 做操作。

如下範例:(現在會遇到 Big5 的,大多數都是 Windows 的 CSV)

with open(filename, encoding='Big5') as csvline:
    rows = csv.reader(csvline, delimiter=',')

但是有些來源是 Big5、有些是 UTF-8,就需要偵測語系編碼,要怎麼做呢?

閱讀全文〈Python 判斷檔案的語系編碼 UTF-8、Big5〉

Python3 Pandas DataFrame 的 Append 屬性無法使用解法

Python 的 Pandas 是蠻常使用的,在 Pandas 2.0 後,Append 屬性被拿掉了,要使用 concat 來取代,會出現下述錯誤:

  • pd dataframe append AttributeError: 'DataFrame' object has no attribute 'append'

閱讀全文〈Python3 Pandas DataFrame 的 Append 屬性無法使用解法〉

於 Linux 使用 Python PIP3 安裝 TA-Lib

Python3 的 TA-Lib 有很多技術分析的函數(Function) 已經寫好,可以直接套用。

不過 TA-Lib 於 Debian Linux 要直接 pip3 install 會遇到點困難~

閱讀全文〈於 Linux 使用 Python PIP3 安裝 TA-Lib〉

Python CLI 的快速語法(Syntax)檢查

Python、Python3 寫好程式後,程式不想要執行的情況,想要快速確認是否有語法異常,可以用下述作法達成:

  • python -m py_compile example.py
  • python3 -m py_compile example.py

故意寫個錯誤來跑 (example.py 寫個 「aaa x =」)

  • python3 -m py_compile example.py # 正常就沒有任何事情,有錯誤會如下述:
    File "example.py", line 3
    aaa x =
    ^ SyntaxError: invalid syntax

另外還有下述可以使用:

Linux 如何於 Crontab 執行 Python Virtualenv 環境

Python 都會使用 virtualenv 來開發,Deploy 當然也希望可以建造一個乾淨的 virtualenv 的環境來搬移。

不過 Python 的 venv 執行的參數作法如下:

  1. cd venv
  2. . venv/bin/activate # 進入環境,問題出在這個階段,進不去
  3. pip install -r requirements.txt # 安裝所需套件

閱讀全文〈Linux 如何於 Crontab 執行 Python Virtualenv 環境〉

Python PIP 使用 requirements.txt 管理套件相依性

Python 常常會使用 PIP / PIP3 安裝很多套件(Library),但是要移植到其它機器或者要做環境 freeze (避免升級造成程式問題),很常見的作法就是使用 requirements.txt 來限定套件與版本 。

  • 註:requirements.txt 只是習慣的檔名

閱讀全文〈Python PIP 使用 requirements.txt 管理套件相依性〉

Python 使用 pip3 建立虛擬環境 venv

Python 使用 pip 和 Python3 使用 pip3 在此篇步驟都是大同小異的,都可以參考看看~

  1. sudo apt install python3-pip
  2. pip3 install virtualenv
  3. pip3 show virtualenv # 查看 virtualenv.py 在哪裡
    • ~/.local/lib/python3.5/site-packages/virtualenv.py
  4. python3 ~/.local/lib/python3.5/site-packages/virtualenv.py venv
  5. . venv/bin/activate # 或 source venv/bin/activate
  6. (venv) $ pip install -r requirements.txt # 安裝自己需要的套件試試看

更多詳細的操作,可見此篇:Python3 虛擬環境 venv 建置步驟 - 這是用 apt 的 pyvenv 來建立

相關網頁可見:python - What is the difference between venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenv, etc?