Python2からPython3への移行メモ
- byte型からstr型への変換
以下のコードが動かなくなったのを修正:
# 処理するCSVファイルのリストを取得 file_name = np.genfromtxt("file_list",delimiter=",",dtype="S20" ) for csv_file in file_name: # それぞれのCSVファイル中のデータを取得し処理 data = np.genfromtxt( csv_file , delimiter=",")
"data=..."のところで、”AttributeError: 'int' object has no attribute 'split'”と言われてしまう。
以下を参照し、byte型からstr型への変換を明示することで修正:
python3のbytes型とstr型の比較と変換方法 | Python Snippets
以下修正コード:
# 処理するCSVファイルのリストを取得 file_name = np.genfromtxt("file_list",delimiter=",",dtype="S20" ) for csv_file in file_name: # それぞれのCSVファイル中のデータを取得し処理 data = np.genfromtxt( (csv_file.decode('utf-8')) , delimiter=",") # decodeを追加