032 測定機器から得たデータをExcelファイルとして保存する(その3)

2022/04/08

紹介/スクリプト

t f B! P L

前回の投稿  031 測定機器から得たデータをExcelファイルとして保存する(その2)で,シートの作成までを紹介しました.
今回は,シートの1行1列から行(Row)毎のデータを追加するappend関数の使い方を紹介します.

append関数には,1行分のデータをリストにしたものを引数とします.
例えば,「データシート1」のシートに,a11, a12, a13, a14, a15の5個のデータを追加する場合は,
      ws = wb["データシート1"]
      ws.append([a11, a12, a13, a14, a15])
となります.

列毎のデータが配列a1[], a2[], a3[], a4[], a5[]の場合は,下記に示すように,append関数に引き渡すリストを前もって用意しておいて,forループで,リストに値を代入し,それをappend関数の引数としても良いです.
    data = [0]*5
    ws = wb["データシート1"]
    nrows = len(a1)
    for j in range(nrows):
        data[0] = a1[j]
        data[1] = a2[j]
        data[2] = a3[j]
        data[3] = a4[j]
        data[4] = a5[j]
        ws.append(data)

全てのシートに対して,append関数を使ってデータを追加したら,save関数に新規保存するExcelファイルのファイル名を引数にして,下記のようにします.
    wb.save("データ.xlsx")

但し,save関数を使ってExcelファイルを新規保存する場合に注意すべき点があります.

  • 既存のExcelファイルと同じファイル名を指定すると,ファイルが上書きされます
  • save関数を2回以上実行するとエラーとなります(これは,write_onlyキーワード引数TrueにしてWorkbook関数でワークブックを作成した場合にエラーとなります.例外が発生して2回目以降は失敗します.ファイル名を変えてもダメです)

特に,既存のExcelファイルを上書きしてしまうことは忘れやすいので,十分に注意して下さい.

以上を持ちまして,測定機器から得たデータをExcelファイルとして保存する紹介を終わります.


このブログを検索

アーカイブ

自己紹介

C++やC#を使って数値解析プログラムの開発を長年行ってきました.
今は,Pythonを使った自動処理システムの開発をメインに行っています.

QooQ