刚开始学习openpyxl,试下利用openpyxl制作平时常用的统计报表,发现功能还是挺实用的,对包不熟悉,代码应该还有很多优化的空间,好几个循环都应该可以优化下,增加可读性~ 最终试验做成的报表如下,比较贴近日常用的报表格式了。
代码如下
一、连接数据库,导入订单明细数据
#①连接数据库并获取维表数据及清洗
conn = psycopg2.connect(database="database",
user="root",
password="admin",
host="localhost",
port="443")
cursor = conn.cursor()
cursor.execute('select * from t_order t left join dim_city d on t.city_code = d.city_code')
df_city = pd.DataFrame(cursor.fetchall())
lst = list()
for a in cursor.description: #获取字段名
lst.append(a[0])
df_city.columns = lst
cursor.close()
df_city.head()
二、对报表所需字段进行分组汇总
def filter_package(x,n):
return x.index.isin(df_city.query('type == '+str(n)).index).sum()
def filte