求某数据库表中所有字段的空值率(空值包括null和0)
import pandas as pd
import pyodbc
con = pyodbc.connect('DSN=xh_TDC', autocommit=True)
col_name = ['字段A', '字段B'] # col_name:所有字段名组成的列表
data = pd.Dataframe()
for i in col_name: # 每次查询数据库中一个字段
#SQL查询语句 select count('字段A'),sum(case when length('字段A') <1 or '字段A' is null then 0 else 1 end)/count(*) from 库名.表名
sql_cmd = "select count("+i+"),sum(case when length("+i+") <1 or "+i+" is null then 0 else 1 end)/count(*) from 库名.表名"
df = pd.read_sql(sql=sql_cmd, con=con, index_col=None, coerce_float=True)
data = pd.concat([data, df])# 每次查询一个字段,将每个字段的结果拼接起来。
data.to_excel(r'D:导出文件.xlsx')