K_YOSHI’s プログラミング備忘録

プログラミング関係、その他のメモ

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を追加