どうやってCSVデータを操作するか
先日投稿した、「リアルタイムで温度監視」の記事にあるように、Ambientでは、データはカンマ区切りテキスト(CSV)形式で保存されており、いつでもダウンロードが可能です。AmbientのMyページをクリックすれば、リアルタイムでグラフを閲覧できますが、いくつかの課題があります。
- 保存したデータがずっと保管されている保証はない(ローカルにダウンロードすることが必須)。
- 複数のWROOM-02からデータをAmbientへ送信している場合(Ambientでは、1チャンネルに8種のデータを格納できる)、得られるCSVが見にくい。
- 違う切り口でのデータ解析はできない。
AmbientからCSVをローカルにダウンロードしておけば十分と言われればそれまでですが、データの種類が増えるほど、データを種類別にしてワークシートに保存すれば、後の解析が楽になりそうです。何万行にも育ったCSVデータをExcelで処理する方法もありますが(重い・・・)、最近勉強しているpythonで処理しようと思いました。
pythonを含む統合開発環境(IDE)、Anacondaをインストールすると、pythonからExcelファイル(拡張子: xlsx)を作成するためのモジュール(xlsxwriter)が標準で組み込まれています。そこで、この記事では、CSV処理に先立ち、セル座標(A1)に”Hello World”を記入しただけのExcelファイルを作成してみることにしました。
開発環境
- Windows10
- Anaconda v1.9.6
- python v3.7.1
- spyder v3.3.2
- xlsxwriter v1.1.2
python スクリプト
import xlsxwriter
workbook.xlsxwriter.Workbook("hoge.xlsx")
worksheet = workbook.add_worksheet("2019.2")
row = 0
col = 0
worksheet.write(row, col, "Hello World")
workbook.close()
上記のスクリプトは、以下に示す手順でExcelファイルを作成します。
- xlsxwriterモジュールを冒頭で読み込む
- ファイル名を指定(hoge.xslx)してワークブックを作成する
- シート名を指定(2019.2)してワークシートを作成する
- セル座標の初期化
- セル座標を指定して、値(“Hello World”)の代入する
- ワークブックを閉じる (←これを忘れる・・・)
実行結果
下記に示すように、非常に簡単にExcelファイルを作成することができました。グラフも簡単にできるようなので、今後、蓄積したデータを処理するべく、現在スクリプトを作成中です。将来的には、自分のウェブサイトでpythonを活用して、Ambientのようなものを構築していきたいと考えています。
