pythonでCSVからExcelファイルを作成する

どうやって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ファイルを作成します。

  1. xlsxwriterモジュールを冒頭で読み込む
  2. ファイル名を指定(hoge.xslx)してワークブックを作成する
  3. シート名を指定(2019.2)してワークシートを作成する
  4. セル座標の初期化
  5. セル座標を指定して、値(“Hello World”)の代入する
  6. ワークブックを閉じる (←これを忘れる・・・)

実行結果

 下記に示すように、非常に簡単にExcelファイルを作成することができました。グラフも簡単にできるようなので、今後、蓄積したデータを処理するべく、現在スクリプトを作成中です。将来的には、自分のウェブサイトでpythonを活用して、Ambientのようなものを構築していきたいと考えています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です