現在、ある車両の情報を扱っています。
これから、車両の種類ごとに、分析に入ります。
なので、最初に、フォルダに入っている計1000個のテキストファイルを車両の名称ごとに分類し、別々のフォルダに保存したいです。そのコードを教えていただきたいです。
前提:
(1)車両がいくつあるのか?どんな名称なのか?はわからない。
→つまり、事前に自分で、ある特定のフォルダを手動で作ることはできない。
(2)車両名称を参照する場所(行と列)は、わかる。
→df.loc[1,"name"]に必ずある
私が考えている流れ:
(1)1000個のファイルの一つ一つにdf.loc[1,"name"]を参照し、その名称をset()に格納し、重複のない車両名称を得る。その後、手動でフォルダを作る。
(2)その後は、if文で名称に合わせて、作成したフォルダに格納していく。
python
1import glob 2import os 3import pandas as pd 4#カレントディレクトリの設定 5os.chdir("share_folder/") 6#共有フォルダから、すべてのファイルパスの取得 7filepath = glob.glob("*.txt") 8#車両情報の名称を取得 9unique_names = [] 10for i in range(len(filepath)): 11 df = pd.read_table(filepath[i], sep=",") 12 names = set(df.loc[1,"name"]) 13 unique_names.append(names) 14########################################## 15#######名称の数だけ、フォルダを作る######### 16########################################## 17 18#フォルダを分類する 19for i in range(len(filepath)): 20 df = pd.read_table(filepath[i]) 21 if df.loc[1,"name"] == "ファイル名称1": 22 df.to_csv("filepath[i]", sep=",") 23 elif df.loc[1,"name"] == "ファイル名称2": 24 df.to_csv("filepath[i]", sep=",") 25 else df.loc[1,"name"]: 26 df.to_csv("desktop/Nan/filepath[i]", sep=",")
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。