解答をデータベース化します。
pdf を読み込む
第117回の解答は以下のような pdf です。

「正答2」と「正答3」はすべて空欄です。
「正答1」にも空欄がいくつかあります。
したがって問題番号と正答1だけを読み込みます。
import tabula
def extract_answer( self ):
tables = tabula.read_pdf( self.pdf, pages="all", multiple_tables=True )
self.answer_list = [[row[0], row[1]] for table in tables for row in table.values.tolist()]
list をデータベースに書き込む
list に記録されたデータをデータベースに書き込みます。
def insertDB(self):
connection = mysql.connector.connect(
host="localhost",
user=self.username,
password=self.password,
database=self.mysqldb
)
cursor = connection.cursor()
insert_query = "INSERT INTO 117A_a (qnum, answer) VALUES (%s, %s)"
cursor.executemany(insert_query, self.answer_list)
connection.commit()
cursor.close()
connection.close()
解答はとてもシンプルなのでデータベース化は簡単です。