前提・実現したいこと
クイズの回答結果を集計して表示するページを作成しています。
問題はランダムで30問ほど出題し問題番号1~30と振る予定です。
解答されると問題番号と正解不正解が1,0で配列化されます。
(例:問題番号1に正解→[1,1],問題番号19に不正解→[19,0])
発生している問題・エラーメッセージ
この回答結果をcsvに保存したいのですが、
指定の行数に合わせて行数に正解不正解を足したいです。
(例:問題番号1の累計正解数が100で今回正解した → [1,100]→[1,101]←100+1
→ [1,100,0]→[1,101,0]←100+1
問題番号19の累計正解数が100で今回不正解した → [1,100]→[1,100]←100+0)
→ [19,100,110]→[19,100,110]←100+0
(追記)ご指摘いただいた点を追記しました。
元のcsvは[問題番号,累計正解数,累計解答数]の情報になっています。
このcsvを読み込んで新たに書き込みたいです。
さらに、このあと入力回数を1足したいです。
→ [1,100,110]→[1,101,111]←110+1
→ [19,100,200]→[19,100,201]←200+1
該当のソースコードはあらかじめ配列(array2d)が与えられていますが、
この部分が送信されてくるデータになります。
該当のソースコード
cgi
1#!/usr/local/bin/python 2# -*- coding: utf-8 -*- 3import cgi 4import csv 5array2d =[[1,0],[2,1],[19,0]] 6with open('some.csv', 'w') as f: 7 writer = csv.writer(f, lineterminator='\n') # 改行コード(\n)を指定しておく 8 writer.writerows(array2d) # 2次元配列も書き込める 9print("Content-Type: text/html") 10print() 11htmlText = ''' 12<!DOCTYPE html> 13<html> 14 <head><meta charset="utf-8"></head> 15<body bgcolor="lightyellow"> 16 <h1>おつかれさま!</h1> 17 <hr/> 18 <a href="../form2.html">戻る</a> 19</body> 20</html> 21''' 22print(htmlText)
csv
11,0,0 22,0,0 33,0,0 4...
ご指摘いただいた点を追記、修正しました。
試したこと
同じような問題を扱っている情報が少なく書き込むしかできていません。
pandasを使用することも考えたのですが行に追記する方法が見つからず使えていません。
回答1件
あなたの回答
tips
プレビュー