概要
複数のCSVファイルをマージする必要があり、そのためのツールを作ったので記事にまとめました。
分割ダウンロードしかできなくてまとめて一本にしたいときなどに使えるかと思います。
必要なもの
- python 3.7.2
- pandas
今回はexeも作ったので使いたいだけならpython自体不要です。
公開場所
githubで公開しています。
使い方
- inputディレクトリ内にマージしたいCSVファイルを格納
-
fileMerge.py
を実行する。
ソースの説明
以下の処理がマージ処理の核の部分になります。
取得したファイルの1つ目からカラムの情報を取得して、
ファイル内のCSVをpandasのconcatメソッドで結合しています。
エンコードは外だしにして設定できるようにしてあります。
datas=pd.DataFrame(columns=dummy.columns)
for file in files:
log.info(str(file)+'開始')
dataTemps = pd.read_csv(file, encoding=encodeType, dtype='str',engine='python')
datas=pd.concat([datas,dataTemps])
log.info(str(file)+'終了')
活用方法
システムによっては一括でCSVとして取得できず月ごとの結果になってしまうところで
このツールを使えば簡単に一つにまとめられるかなと思います。
またアプリに組み込むのも必要な部分だけ移植も可能かと