私は一般的にPythonの新機能ですが、フォルダ内の特定のファイルからデータを取り出してExcelスプレッドシートに入れるスクリプトを作成しようとしています。ファイルリストを含むPandasのread_tableの使用
私が持っているコードは、指定したフォルダに必要なファイルタイプを見つけ、フルファイルパスのリストを作成します。
import os
file_paths = []
for folder, subs, files in os.walk('C://Users/Dir'):
for filename in files:
if filename.endswith(".log") or filename.endswith(".txt"):
file_paths.append(os.path.abspath(os.path.join(folder,filename)))
また、特定のファイルパスを使用して、正しい列からデータを取り出し、正しいセルに入れます。私はトラブルのファイルの私のリストをread_table反復処理を行うこととするたびに、それがスプレッドシート内の1つのカラムに移動し、新しいファイルを読み込み、Excelシートにデータを入れているが生じています
import pandas as pd
import numpy
for i in range(len(file_paths)):
fields = ['RDCR']
data = pd.read_table(file_paths[i], sep= "\s+", names = fields, usecols=[3],
。
理想的には、forループはfile_pathsリストの長さを確認し、それを範囲として使用します。次に、file_paths [i]を使用してファイル名をread_tableに1つずつ入力します。
何が起こるかは、file_pathsの長さを見つけ、それを1つずつ順番に繰り返すのではなく、リストの最後のファイルからデータを入力するだけです。
ご協力いただければ幸いです。ありがとうございました!
ありがとうございます。私はあなたが持っているコードで少し修正しました。そして、はるかにクリーンです! –
最後の質問:データをインポートしているファイルが時々、異なる行で数値表を開始しています。特定の行ではなく数字を使って最初の行で列を開始するようにpythonに指示する方法はありますか?そうすれば、私が望むデータの位置の変化を説明することができます。 –
@JohnZilverberg私は別の質問をすることをお勧めします。それは別々に答えると便利です。 – piRSquared