[Python] 247 MySQL 10 年月日表記をdate型として取り込む

Y年m月d日と表記された文字列はそのままではdate型として取り込めないため、YYYY-mm-dd表記に変換する必要があります。

<前後は省略>

for file,table,sql in zip(file_l,table_l,sql_l):
    try:
        cur.execute(sql)
    except:
        pass
    else:
        cur.execute('BEGIN')

        # CSVファイルを読み込み、各行をtableに挿入する
        with open(file, 'rt', encoding='Shift-JIS') as f:
            reader = csv.reader(f)
            for i,row in enumerate(reader):
                print(f'row {row}')
                if i != 0:
                    # 年月日の文字列からdatetimeに変換
                    row_str_date_pre = datetime.datetime.strptime(str(row[0]),\
                     '%Y年%m月%d日')
                    # datetimeからハイフン入り年月日の文字列に変換
                    row_str_date = row_str_date_pre.strftime("%Y-%m-%d")
            # 日付とその他を結合してタプルにする
                    row_str = tuple([row_str_date] + row[1:])
                    sql = f'INSERT INTO horse_race_name.{table} VALUES {row_str}'
                    cur.execute(sql)

        cur.execute('COMMIT')