ずいぶんと長い間ブログを放置してしまいましたが、これからは役立つプログラミング(ほぼpython)、や役立つガジェット、アプリについて紹介したいと思います。
今回は、pythonのループ回路についてです。
※この記事は、文系で駆け出しでプログラミングを勉強し始めた甘味が試行錯誤して作ったものです。他にもっとスマートな方法があるかと思いますが、ご了承ください
pythonでループ回路を作れると生産性が爆上がり
pythonのコードを書く前にAnacondaで環境設定を
Anacondaを導入しておくことによって、色々なパッケージ(機械学習など)が簡単に使えるようになるので、拡張性が上がります。
ループ回路を書くエディターもspyderというのがAnacondaに入っているので、特に何もpythonの環境設定をしていないのであれば、Anacondaを導入しておくと間違いないです。
pythonでcsvファイル処理をループ化させるには、csvファイル名のリストを取得する必要あり
globモジュールを使うとcsvのファイル名のリストを取得できる
globモジュールを使うためにははじめに、globモジュールをインポートすることが必要になります。
インポートのコードは、スクリプトの最初に記載するのが一般的です。
import glob
とりあえず最初にこれを入れておくことでこのコード以降でglobのモジュールを使うことができます。
globモジュールでcsvファイルのリストを作る
import glob csv_file = glob.glob("*csv")
そしてこのcsv_fileを使ってループ回路を作る場合の例としてはこんな感じです。
import glob import numpy as np csv_file = glob.glob("*csv") for f in csv_file: data = np. genfromtxt(f,delimiter",", dtype = "float")
なんとなく概要を説明すると、
あらかじめ用意されたcsv_file のリスト(例として"a.csv", "b.csv"が入っているリスト)がまずあります。
その後forループ内ではcsv_fileのf番目のcsvファイル名がnp.genfromtxt内に入っていきます(f番目から始まって、1ループされるごとに2番目、三番目という風にずれていきます)。
あとはこれに実際の計算処理を加えることによって、csvファイルごとに順番に処理がループしていきます。
得られた結果の保存に関しては、ループ外の場所に保存しておかなければループが終わった時に消えてしまいますので注意。これに関してはまた別の記事で話そうと思います。