コラム

【技術情報配信】Python使ってます?

お疲れ様です。マサダです。

今回は「Python」のプレゼンになります。

Pythonは、データ分析、機械学習、Web開発などのさまざまな分野で使用されており、

それらの開発にあたってのライブラリやフレームワークが豊富に用意されています。

また、多くのプラットフォームで動作します。

上記と被るところもありますが、利用メリットを挙げてみます。

 ・文法が簡単で覚えやすい。

 ・ライブラリ、フレームワークが豊富。

  (おすすめはNumPy、Pandas、Matplotlib、Tkinter等々)

 ・クロスプラットフォーム

  (Windows、Mac、Linuxなどの多くのOSで動作します)

 ・利用者が多い(ググれば欲しい情報が見つかる)

 ・Pythonさえインストールできれば使用可能

C言語に染まりきっていると、最初は取っつきにくいかもしれませんが、

慣れてしまえば簡単なツールなどはサクッと作成できます。

データ作成やデバッグ時のログ解析時に活用することで、

開発効率を上げる(楽する)ことが出来ると思います。

いい例がぱっと浮かびませんが、、、

 「数百あるログファイル(csv)の特定列を抜き出し、それぞれファイル出力したい」

という場合であれば、以下のようなコードになるかと思います。

 注:実行してませんので間違いがあるかもしれません。

   また、例なので色々と固定にしてます。。

—————————————————–

import os

import csv

# 抽出する列のインデックス

column_index = 2

# ディレクトリ内のファイルを処理する

for filename in os.listdir(“.”):

     if filename.endswith(“.csv”):

         # 出力ファイル名作成

         output_filename = “out_” + filename

         with open(filename, “r”) as f_in, open(output_filename, “w”,

newline=”) as f_out:

             reader = csv.reader(f_in)

             writer = csv.writer(f_out)

             for row in reader:

                 data = row[column_index]

                 writer.writerow([data] + row)

—————————————————–

こういった作業の場合、一度だけであれば、

エクセルやエディタ開いて頑張って対応もありかもしれませんが、(政田は無理です)

何度も実施が必要なケースではなんらかで自動化すると思います。

そんな時「Python」を選択肢の一つに加えることで、

対応可能なケースが広がりますよ。(データ解析とか熱いです)

※今回はPythonのプレゼンなので

 「ShellでOKでは?」

 というのはご勘弁ください:-)