python实现对数据库中不同列内的异常数据的统计与处理完整代码
时间: 2024-03-17 21:44:34 浏览: 61
以下是一个完整的Python代码示例,演示如何对数据库中不同列内的异常数据进行统计和处理:
```python
import mysql.connector
# 连接MySQL数据库
cnx = mysql.connector.connect(user='user', password='password',
host='localhost',
database='database')
# 获取游标
cursor = cnx.cursor()
try:
# 获取表格列名
query = "SHOW COLUMNS FROM table"
cursor.execute(query)
columns = [column[0] for column in cursor]
# 针对每一列,统计并处理异常数据
for column in columns:
query = f"SELECT {column} FROM table"
cursor.execute(query)
# 统计异常数据
null_count = 0
non_numeric_count = 0
# 处理查询结果
for result in cursor:
if result[0] is None:
null_count += 1
elif not isinstance(result[0], (int, float)):
non_numeric_count += 1
# 处理异常数据
if null_count > 0:
print(f"Error: {column} has {null_count} null value(s)")
if non_numeric_count > 0:
print(f"Error: {column} has {non_numeric_count} non-numeric value(s)")
except mysql.connector.Error as err:
# 处理异常
print(f"Failed reading data from MySQL table: {err}")
finally:
# 关闭游标和连接
cursor.close()
cnx.close()
```
在上面的代码中,针对每个列,使用查询语句检查每个值是否为空或非数值类型,并统计异常数据的数量。在处理完异常数据后,如果有异常数据,会打印错误消息。
阅读全文