競馬DBの作成でかなり根を詰めて作業をしていたので、5日ほどベアボーンPCやAdobe XDをいじって気分転換してました。
競馬DBの着順と人気が小数点付きになってしまっているため、これを削除するコードを書きました。データの更新ですからUPDATE文になります。
全てが小数点数になっていればデータ検索に支障はないはずですが、実際は整数と混在しているため処理します。
import mysql.connector,glob
<接続設定は省略>
# 対象ファイルパスのリストを作成
file_l = [path for path in glob.glob('/horse_racing/race_result/*.csv')]
# ファイルパスから拡張子なしのファイル名を抽出
table_l = [path[-15:-4] for path in file_l]
print(table_l)
# sqlのリストを作成
sql_l = list()
for table in table_l:
sql = f"update horse_race_result.{table} set 着順 = \
replace(着順, '.0', ''), 人気 = replace(人気, '.0', '')"
sql_l.append(sql)
# mysqlに接続
con = mysql.connector.connect(**config)
cur = conn.cursor()
# データベースhorse_race_resultの着順と人気から'.0'を削除する
for sql in sql_l:
cur.execute('begin')
cur.execute(sql)
cur.execute('commit')
con.close()