pythonとTkinterでCSVを読み取る方法 part1
■はじめに
以前、新しいExcelファイルを作成し、そのファイルの中にpythonの計算結果を自動で代入する方法を紹介しました。
stjun.hatenablog.com
pythonで計算する場合は上記でも良いですが、特に技術者や理系の学生などはCSVファイルの実験データを扱うことが多く、CSVの中身はpythonに取り込みたいというニーズもあるかと思います。
そこで①tkinterを使って任意のCSVファイルを指定し、②その指定したCSVファイルから欲しい情報を抜き出し、③抜き出した情報をpython上で計算してExcelシートに代入し、Excelファイルを作成する方法を紹介します。
上記はこれまでと比べて少し複雑なコードになるため3記事に分けたいと思います。
本記事ではまず②のCSVファイルから欲しい情報を抜き出す方法を紹介します。
■コード
忙しい方やpythonのコードを自力で読んで理解できる方向けに、先にコードを載せます。動作環境はAnaconda(python3.7)です。
今回、次のように1行目と2行目に説明文があり、3行目から数値が並んでいるCSVファイルを想定しました。
上記のコードを実行すると次のように列ごとに数値を読みだし、配列を作ってくれます。
matplotlibを使えばグラフ化も簡単です.
■説明
CSVの読み取りはnumpyのloadtxtを使うと非常に簡単です。
まず読み取りたい列が3つあるので変数は3つ用意してあげます。今回は分かりやすいようにdate_1~date_3としました。読み取りたい列が5列あるなら5個分の変数を用意してあげましょう。
またskiprows=2は先頭から2行分をとばして3行目から読み込むという意味です。今回CSVファイルの1行目と2行目が説明文なのでskiprows=2としています。説明文が10行ある場合はskiprows=10としましょう。
これで終了です。loadtxtには他にも機能がいくつかあったり、データの読み出し方も色々変更できますが、まずはこの方法で十分だと思います。
■最後に
最近、本業が非常に忙しくあまりpythonに触れられてないですが少しづつ更新をしたいと思います。