前提・実現したいこと
pythonでcsvのデータを読みこみ、
各行のデータを記録されたデータに応じて該当するリストに格納しようとしています。
(各行には、0が並んでいるのですが、どこか一つの列のみ数字が入っています。その列が何列目かによって、格納するリストを変えたいです。)
取得したデータをどのリストに格納するかを変数を用いて決めようとしており、
その部分について、以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
list_name.append(line_split_data) AttributeError: 'str' object has no attribute 'append'
該当のソースコード
python
1file_list = [] # pathのフォルダ内にあるファイルのファイル名を格納する 2for f in os.listdir(path): 3 if os.path.isfile(os.path.join(path, f)): 4 file_list.append(f) 5 6# データが6列ありうち5列には0が記録されているが、どこか一列のみ0より大きい値が記録されている。 7for file in file_list: 8 reader = open(path + "/" + file, "r") 9 10 data_0 = [] 11 data_1 = [] 12 data_2 = [] 13 data_3 = [] 14 data_4 = [] 15 data_5 = [] 16 for line in reader.read().splitlines(): 17 for i in range(5): 18 line_split_data = line.split(",") 19 list_name = "data_{}".format(i) 20 list_name.append(line_split_data)
エラーの意味は分かるのですが、どうしたら、作った文字列をリスト名として認識できるようになるのでしょうか。
こちらは6列のみですが、30以上列があるものもあるため、
ベタ打ちではなくループで処理できるようにしたいと考えています。
どなたか教えていただけますと幸いです。