python实战|表格拆分,邮件发送,回收表格合并统计

背景:运维每周会给到一份全国‘失联’快递柜的数据,作为分析人员。需要知道每台柜子的失联原因。

需要做的事:将这份快递柜的数据拆分成全国6个大区,对应的6个文件,在每个文件的最后新增一个字段,添加数据有效性,让运维同事选择原因,然后回收6份数据,将数据汇总合并,统计失联原因的分布。

第一步:数据拆分,将文件拆解成6份

初始数据结构,典型中国式报表,前两列数据合并,区域数据错误,需要调整替换,最后还需要增加一列包含数据验证的列,方便一线同事选择,也方便后续数据汇总。

import os
import pandas as pd
import numpy as np
from openpyxl  import Workbook
from openpyxl  import load_workbook
from openpyxl.worksheet.datavalidation import DataValidation
from openpyxl.utils.dataframe import dataframe_to_rows
from openpyxl.styles import Border,PatternFill,Font
import psycopg2


# 数据拆分
# 拆分生成新文件,设置数据有效性,设置表格样式,配置邮件发送

#---------------------------------------------------------------------------
#数据读取和清洗
file_path = r'C:\Users\james\Desktop\运维数据\11111111'   #设置根目录
file_name = r'快递柜运力状态监控数据.xlsx'   #设置excel文件名,一般为固定

#①连接数据库并获取维表数据及清洗
conn = psycopg2.connect(database="database",
                        user="root",
                        password="admin", 
                        host="localhost",
                        port="443")
cursor = conn.cursor()
cursor.execute('select * from dim_city')
df_city = pd.DataFrame(cursor.fetchall())
df_city.columns = ['big_city_name','city_code','city_name','region']

#②读取excel数据表及清洗
path = file_path + '\\' + file_name
df = pd.read_excel(path)
df['城市'] = df['城市'].ffill()  #对城市数据进行向下填充
df.dropna(subset=['失联状态'],inplace=True) #删除掉非失联状态的数据


#③两个数据合并,增加维度信息,以便后续
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值