前回の投稿 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ファイルとして保存する紹介を終わります.
0 件のコメント:
コメントを投稿