MySQL查询语句执行及结果处理 - Python代码解析
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
代码解读:
-
执行查询语句:
mysql_query = 'SELECT * FROM age_of_barbarians'定义查询语句,从age_of_barbarians表中获取所有数据。mysql_cursor.execute(mysql_query)执行查询语句,结果保存在mysql_result变量中。
-
处理查询结果:
- 遍历
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。
- 遍历
-
错误处理:
else:处理无效的行格式,打印Invalid row format:和对应行的信息。
通过以上步骤,代码成功地将查询结果进行了处理,并添加了日期格式化的列,同时处理了可能出现的无效数据。
原文地址: https://www.cveoy.top/t/topic/oHco 著作权归作者所有。请勿转载和采集!