MySQL查询语句执行及结果处理 - Python代码解析

这段代码展示了如何使用Python代码执行MySQL查询语句,并对查询结果进行处理,包括提取日期信息并格式化输出,以及处理无效数据。

mysql_query = 'SELECT * FROM age_of_barbarians'
mysql_cursor.execute(mysql_query)
# 获取MySQL查询结果
mysql_result = mysql_cursor.fetchall()
# 添加register_date列的年月日
processed_result = []
id = 1
for row in mysql_result:
    if len(row) >= 12:  # 检查元组中是否有足够的元素
        register_time_str = row[2]
        register_time = datetime.strptime(register_time_str, '%Y-%m-%d %H:%M:%S').date()
        register_date = register_time.strftime('%Y-%m-%d')
        processed_row = (id,row[0], row[1], str(register_date), row[3], row[4], row[5], row[6], row[7], row[8], row[9], row[10], row[11], row[2])
        processed_result.append(processed_row)
    else:
        print('Invalid row format:', row)  # 打印无效的行格式
    id+=1

代码解读:

  1. 执行查询语句:

    • mysql_query = 'SELECT * FROM age_of_barbarians' 定义查询语句,从 age_of_barbarians 表中获取所有数据。
    • mysql_cursor.execute(mysql_query) 执行查询语句,结果保存在 mysql_result 变量中。
  2. 处理查询结果:

    • 遍历 mysql_result 中的每一行 row,对数据进行处理。
    • if len(row) >= 12: 检查 row 是否包含足够数量的元素,确保数据完整性。
    • register_time_str = row[2] 获取第三列的值,即 register_time_str
    • register_time = datetime.strptime(register_time_str, '%Y-%m-%d %H:%M:%S').date()register_time_str 转换为 datetime 对象,并提取日期部分。
    • register_date = register_time.strftime('%Y-%m-%d')register_time 格式化为 YYYY-MM-DD 的日期字符串。
    • processed_row = (id,row[0], row[1], str(register_date), row[3], row[4], row[5], row[6], row[7], row[8], row[9], row[10], row[11], row[2]) 创建新的元组,将 register_date 插入到第四个位置,并保留原始行的其他数据。
    • processed_result.append(processed_row) 将处理后的元组添加到 processed_result 列表中。
    • id += 1 递增 id 变量,以便在下一行数据中使用新的 id
  3. 错误处理:

    • else: 处理无效的行格式,打印 Invalid row format: 和对应行的信息。

通过以上步骤,代码成功地将查询结果进行了处理,并添加了日期格式化的列,同时处理了可能出现的无效数据。

MySQL查询语句执行及结果处理 - Python代码解析

原文地址: https://www.cveoy.top/t/topic/oHco 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录