求某数据库表中所有字段的空值率(空值包括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 1 else 0 end)/count(*) from 库名.表名
    sql_cmd = "select count("+i+"),sum(case when length("+i+") <1 or "+i+" is null then 1 else 0 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')
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐