np.loadtxtしにくいデータの対応方法:
・文字コードがutf-8じゃない!
→ nkfで文字コードをutf-8に変換するターミナルコマンドを、pythonから実行する。ちなみに、nkfの「-w」でutf-8にできるが、ASCIIはこれじゃ変換されないので、「-w8」オプションが必要です。
import os import glob as gl filename = gl.glob("*.csv") # brew install nkf(ターミナルで、必須) for i in range(len(filename)): os.system("nkf -w8 --overwrite "+ filename[i])
・strとfloatが混在している!
→ str型でロードして、その後、必要な部分だけfloatに変換する。以下は、strでロードするコード
dat = np.loadtxt(filename, delimiter=",", skiprows=0, dtype="str")