実際の問題解決にPythonのデータ処理ライブラリ Pandas を使ったのでここで共有したい。
日常的にコードを一定数書いていないと忘れてしまうのでブログにアウトプットしたいと思います・・・。
Pandasについて
Pandasとはデータ分析に使えるPython ライブラリである。
- Tech AcademyのPandasについてのブログがわかりやすい
エクセルやCSVなどデータが格納されているファイルの読み込みとその中に格納されているデータの整理や分析を行うことができる。
複数のエクセルファイルをフCSVファイルに変換
厳密に言うと、「特定のフォルダにある複数のエクセルファイルでファイル名に指定の文字列が含まれているファイルをCSVファイルに変換する」プログラムになる。
なんらかの自動プログラムを走らせている結果常にエクセルファイルが生成される際に、そのエクセルファイルの内容を一括整理する際にまずCSVファイルに変換しよう、というデータ処理の前段階のプログラム。
ファイル形式をCSVに変換したほうがデータ処理をしやすくするために書いたもの。(scraping_intermediate/count_elements.py, ファイル名やディレクトリなどは実際に使用する場合は <> の箇所を書き換えてください)
知っておくべきこと
- path = “<the path to your directory>” … 処理をしたいファイルがどこに格納されているかを示すためにpathの指定する
- files = os.listdir(path) … pathの指定後、ファイルを指定
- filenames = [ f for f in files if os.path.isfile(os.path.join(path, f))] … 指定したディレクトリにあるファイルのファイル名をリストに格納
- pd.read_excel(‘{}’.format(filename), ‘<sheet name>’, index_col=None, header=None) … Pandasを使用してエクセルファイルを読み込み、data 変数に格納
- data.to_csv(‘{}’.format(filename) + ‘.csv’, encoding=’utf-8′, header=None) … dataに格納したエクセルファイルをCSVファイルとしてファイル名を指定して書き出し
コードを書く以外のアウトプットも大事。ちゃんと整理しておかないと後からコードを読んですっかり忘れてしまっていて数ヶ月前の自分凄えなって思うときがあるのでそれを防ぎたい。
コメント