質問: pd.read_csv("OutDataList.csv") ``` と書いてあるのですが、これはあらかじめどのようなファイル、データを作っておけばよいのでしょうか? プログラミングに関して、まだ知らないことばかりなので質問自体にも不備があることと思いますが、どうかよろしくお願いします。
回答: 書き込むデータの形式としては InDataList.csv ``` 1番目に読み込むファイル名 2番目に読み込むファイル名 3番目に読み込むファイル名 ・・・ ``` OutDataList.csv ``` 1番目に書き込むファイル名 2番目に書き込むファイル名 3番目に書き込むファイル名 ・・・ ``` のような形式かと思うのですが・・・ 残念ながら加工してもらった部分にはバグがあるため動作しないと思います。 たぶんこういう事をやりたかったのだろうと想定して修正すると、以下のようになります。 ``` #(略) #DataList(wavファイルのリストを作成する) # 修正(データをインデックスで読み込むにはこのような加工) InDataList = pd.read_csv("InDataList.csv", header=None).iloc[:,0] OutDataList = pd.read_csv("OutDataList.csv", header=None).iloc[:,0] for i in range(len(InDataList)): #<- 修正:変数名が間違い & range()追加 # ファイル読込 y, sr = librosa.load(InDataList[i]) #<- 修正:変数名が間違い #(中略) #データ出力 np.savetxt(OutDataList[i], S, fmt="%.1f",delimiter=",") #%0.5fだと小数点以下5桁まで出力 ``` ただ、個人的には入力・出力のファイルを2つ用意するよりは、1つにまとめて DataList.csv ``` INPUTFILE,OUTPUTFILE 1番目に読み込むファイル名,1番目に書き込むファイル名 2番目に読み込むファイル名,2番目に書き込むファイル名 3番目に読み込むファイル名,2番目に書き込むファイル名 ・・・ ``` のようなデータ形式にして ``` #(略) #DataList(wavファイルのリストを作成する) DataList = pd.read_csv("DataList.csv") for i, data in DataList.iterrows(): # ファイル読込 y, sr = librosa.load(data.INPUTFILE) #(中略) #データ出力 np.savetxt(data.OUTPUTFILE, S, fmt="%.1f",delimiter=",") #%0.5fだと小数点以下5桁まで出力 ``` のようにするのが良いかと思うのですが、そこはお好みで。。