何百もの(おそらく1 kを超える)csvデータファイルと時系列データを含むフォルダーがあります。理想的には、このデータは1つのcsvに含まれているので、すべてを一度に分析できます。私が知りたいのは、Pythonを使用してすべてのファイルを相互に追加する方法があるということです。
私のファイルは次のようなフォルダの場所にあります:
C:\Users\folder\Database Files\1st September
C:\Users\folder\Database Files\1st October
C:\Users\folder\Database Files\1st November
C:\Users\folder\Database Files\1st December
etc
各フォルダー内には3つのcsvがあります(これらのファイルは実際にはパイプで区切られた値を含む.txtファイルとして保存されるため、私はcsvという用語を大まかに使用しています|
)
これらのファイルが呼び出されたとしましょう:
MonthNamOne.txt
MonthNamTwo.txt
MonthNameOneTwoMurged.txt
このディレクトリ内のこれらすべてのフォルダを調べて、すべてのOneTwoMurged.txt
ファイルをマージするようにコーディングすることはできますか?
.csv
接尾辞が付いたフォルダ内のすべてのファイル
import glob
import os
filelist = []
os.chdir("folderwithcsvs/")
for counter, files in enumerate(glob.glob("*.csv")):
filelist.append(files)
print "do stuff with file:", files, counter
print filelist
for fileitem in filelist:
print fileitem
明らかに、「何かをする部分」は、ファイルで何をしたいかによって異なります。これは、ファイルのリストを取得することを目的としています。
月単位でファイルを処理したい場合は、日時を使用して、日または年次データと同じように、可能な月を作成できます。
たとえば、名前が付いた月次ファイルの場合、Month Year.csv
各ファイルを検索します。
import subprocess, datetime, os
start_year, start_month = "2001", "January"
current_month = datetime.date.today().replace(day=1)
possible_month = datetime.datetime.strptime('%s %s' % (start_month, start_year), '%B %Y').date()
while possible_month <= current_month:
csv_filename = possible_month.strftime('%B %Y') + '.csv'
month = possible_month.strftime('%B %Y').split(" ")[0]
year = possible_month.strftime('%B %Y').split(" ")[1]
if os.path.exists("folder/" + csv_filename):
print csv_filename
possible_month = (possible_month + datetime.timedelta(days=31)).replace(day=1)
明らかに、あなたはそれをあなたが適切だと思う方法に変えることができます、あなたがもっと必要であるか、またはこれで十分であるかどうか私に知らせてください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加