【Python】複数のCSVファイルを横に結合するコード
スペクトルを自席PCで色々と編集したいので、CSVファイルに変換し、自分のPCにデータを移行してそれをグラフ化するという愚行がある。
測定→特殊な拡張子→名前を付け直してCSVへエクスポート→自席PCへデータ移行→グラフ化
なにこれ?煩わしい。グラフ化の際にCSVファイル数が多いと、何かとミスが起きる。ほとんどがコピペミスかな。
どこまで正しくコピペできているか確認する作業がクソすぎる。
これをどうにかして無くしたい。
自分の場合は、反応が進行しているかピークの強度比率を見るので、
複数のファイルにまたがっていると、見にくくてしゃーない。
そこで、まずは複数のCSVファイルを一つのシートにまとめたいと思ったわけ。
import glob
import pandas as pd
import csv
まずはpandasとかをインポートしてください。
files = glob.glob("*.csv")
#print(files)
output_df = pd.DataFrame()
for input_file in files:
#print(input_file)
output_df = pd.concat([output_df,pd.read_csv(input_file,index_col=[0],parse_dates=[0],encoding="shift-jis")],axis="columns")
#print(output_df)
output_df.to_csv('Concat.csv')
このコードを実行すると、ディレクトリ内にある全ての「.csv」が横に結合されていく。
結合後は「Concat.csv」として保存される。
これで複数にまたがることなく、一つのシートに数値がまとまったわけ。
とりあえず、今日はここまで。
以下、参考にしたサイト
まじで勉強になりました!
今後はグラフ化までを自動化するコード書きます。
あと3段階くらい進化させたら私は満足します。
てか、アプリケーション開発やりたい。
pandasは今後結構使いそうだな。
この記事が気に入ったらサポートをしてみませんか?