##前提・実現したいこと
openpyxlを使って結果集計をするプログラムを作成しています。
実現したいこととして、
- 別々のファイルにある3人分のデータシートを移動して新規ファイルを作成
- 各セルの平均点を出した値を別のシートに出力
- その表から線グラフを出力
の3つです。
以下のようなデータがAさん、Bさん、Cさんの3人分あります。
出力したいイメージはこんな感じです。。
B5=SUM(A_result!B5+B_result!B5+C_result!B5)/3
良い案があればご教授をお願いします。
appendを使って各結果のデータを結合してみたのですが、データを横方向に追加する方法はありますでしょうか。
また教科名は最初だけ出力させて、それ以降はB5:D7の数値のみの範囲を読み取りたいです。
宜しくお願いします。
###該当コード
Python
1import openpyxl 2from glob import glob 3 4wb = openpyxl.Workbook() 5wb.active 6ws = wb['Sheet'] 7ws.title = 'data' 8 9header= None 10 11#'テスト結果/*'に3人分のデータを格納 12for file_name in glob('テスト結果/*'): 13 print(file_name) 14 read_wb = openpyxl.load_workbook(file_name) 15 print('read_ws:', read_wb) 16 read_ws = read_wb.worksheets[0] 17 min_row = read_ws.min_row 18 max_row = read_ws.max_row 19 print(min_row) 20 print(max_row) 21 22 print('read_ws', read_ws) 23 if not header: 24 header= read_ws[3] 25 header = [v.value for v in header] 26 ws.append(header) 27 28 for row in read_ws.iter_rows(min_row=4): 29 format_l = [] 30 for cell in row: 31 format_l.append(cell.value) 32 print(format_l) 33 ws.append(format_l) 34wb.save('final_data.xlsx')
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/01 14:33