后台推广数据下载处理导入数据库

y = “2021-11-01_2021-11-30” # 😊

y = str(datetime.today() + timedelta(-1))[:10] #昨天😊

def zm(fpath):#文件转码
for root_path, dir_names, file_names in os.walk(fpath):
for fn in file_names:
path = os.path.join(root_path, fn)
if not zipfile.is_zipfile(path):
try:
fn = fn.encode(‘cp437’).decode(‘gbk’)
new_path = os.path.join(“D:/QN/”, fn)
os.rename(path, new_path)
except Exception as e:
print(‘error:’, e)
shutil.rmtree(fpath)

def zip_(fimename):#zip文件解压
fpath=“D:/QN/”+fimename[:-4]#去掉.zip
f=zipfile.ZipFile(“D:/QN/”+fimename, “r”)
f.extractall(fpath)
zm(fpath)
f.close()
os.remove(“D:/QN/”+fimename)

获取本店产品列表

conn = pymysql.Connect(host=‘localhost’,user=‘root’,passwd=‘password’,db=‘s数据库’,charset=‘utf8’)
c = conn.cursor() #游标,上一行数据查完后,游标移至下一行继续查询
c.execute(‘select 产品ID,产品名称 from tg产品表 where 商家ID=“11111111”’) #执行这条查询语句
re=c.fetchall()#查询所有
cp=pd.DataFrame(re,columns=[“产品ID”,“产品名称”])
cp[“产品名称”]=cp.产品名称.str.replace(“4白”,“40”)
conn.close()
c.close()

ct_l=[‘日期’,‘计划’,‘有效展现’,‘有效点击数’,‘消耗’,‘预售订单量’,‘预售金额’,‘引导进店量’,‘引导进店人数’,
‘引导进店潜客人数’,‘深度进店量’,‘平均访问页面数’,‘关注店铺量’,‘新客获取量’,‘拉新成本’,‘收藏宝贝数’,
‘添加购物车量’,‘拍下订单量’,‘拍下订单金额’,‘成交订单量’,‘成交订单金额’,‘产品ID’]
ct_ll=[ ‘平均访问时长’,‘收藏店铺数’, ‘优惠券领取量’,‘旺旺咨询量’]
ct_dx_l=ct_l+[‘定向’]+ct_ll;ct_zyw_l=ct_l+[‘资源位’]+ct_ll #超推
ct_dx_new=ct_l+[‘定向’];ct_zyw_new=ct_l+[‘资源位’] #引力魔方

zz_l=[‘日期’,‘计划基本信息’,‘计划组基本信息’,‘浅层兴趣行为流转人数’,‘深度兴趣行为流转人数’,‘购买行为流转人数’,
‘展现’,‘点击’ ,‘消耗’,‘展现人数’,‘深度进店量’,‘访客时长’,‘访客页面数’,‘收藏宝贝量’,‘收藏店铺量’,‘添加购物车量’,
‘拍下订单量’,‘拍下订单金额’,‘成交订单量’ ,‘成交订单金额’,‘产品ID’,‘回访量’,‘回搜量’,‘预售订单量’,‘预售订单金额’]
zz_sz_l=zz_l+[‘受众人群名称’];zz_zyw_l=zz_l+[‘广告位名称’] #钻展

AI_list=[‘日期’, ‘宝贝Id’, ‘计划Id’, ‘计划名称’,‘投放周期’, ‘套餐金额’, ‘消耗’, ‘曝光量’, ‘点击量’, ‘加购量’,
‘收藏量’,‘预售成交笔数’, ‘预售成交金额’, ‘成交笔数’, ‘成交金额’] # 万向台

ct_column1=“单元”;ct_column2={‘引导进店⼈数’:‘引导进店人数’,‘引导进店潜客⼈数’:‘引导进店潜客人数’}
ct_column2new={‘展现量’:‘有效展现’,‘点击量’:‘有效点击数’,‘引导访问量’:‘引导进店量’,‘引导访问人数’:‘引导进店人数’,
‘引导访问潜客数’:‘引导进店潜客人数’,‘深度访问量’:‘深度进店量’,‘收藏宝贝量’:‘收藏宝贝数’,‘商品id’:‘产品ID’}
ct_column1new=dict({‘定向人群’:‘定向’},**ct_column2new)
zz_column1=“计划基本信息”;zz_column2={‘时间’:‘日期’}
AI_column={‘总加购量’:‘加购量’, ‘总成交笔数’:‘成交笔数’, ‘总成交金额’:‘成交金额’}

def ct_zz(i,columns_list,table147,table198,column1,column_rename,new_path): # 超推+钻展
f=pd.read_excel(filepath+"/"+i)
f[“产品名称”]=f[column1].apply(lambda x:x.split("_")[-1])
f=f.merge(cp,how=“left”,on=“产品名称”)
f.rename(columns=column_rename,inplace=True)
f=f[columns_list]
f.to_sql(name=table147,con=engine_147_tg,if_exists=‘append’,index=False)
f.to_sql(name=table198,con=engine_198_s,if_exists=‘append’,index=False)
f.to_sql(name=table147,con=engine_198_tg15,if_exists=‘append’,index=False)
shutil.move(filepath+"/"+i,“s/原始数据/”+new_path+y+"."+i.split(".")[-1])
return f

def tg_(i,columns_list,table147,table198,column_rename,new_path):
f=pd.read_excel(filepath+"/"+i)
f.rename(columns=column_rename,inplace=True)
f=f[columns_list]
f.to_sql(name=table147,con=engine_147_tg,if_exists=‘append’,index=False)
f.to_sql(name=table198,con=engine_198_s,if_exists=‘append’,index=False)
f.to_sql(name=table147,con=engine_198_tg15,if_exists=‘append’,index=False)
shutil.move(filepath+"/"+i,“s/原始数据/”+new_path+y+".xls")
return f

修改文件名

filepath = “D:/QN”
l=os.listdir(filepath)
for i in l:
if i.startswith(“商品推广_定向分日报表”):
tg1=ct_zz(i,ct_dx_l,“超级推荐定向数据”,“tg超推定向人群”,ct_column1,ct_column2,“超推/超推定向”)
if i.startswith(“商品推广_资源位分日报表”):
tg2=ct_zz(i,ct_zyw_l,“超级推荐资源位数据”,“tg超推资源位”,ct_column1,ct_column2,“超推/超推资源位”)
if i.startswith(“受众人群日报表-”):
tg3=ct_zz(i,zz_sz_l,“钻展人群定向数据”,“tg钻展人群定向”,zz_column1,zz_column2,“钻展/钻展受众”)
if i.startswith(“资源位日报表-”):
tg4=ct_zz(i,zz_zyw_l,“钻展资源位数据”,“tg钻展资源位”,zz_column1,zz_column2,“钻展/钻展资源位”)
if i.endswith(".zip"):
zip_(i)
if i.startswith(“new1”):
tg1_new=tg_(i,ct_dx_new,“超级推荐定向数据”,“tg超推定向人群”,ct_column1new,“超推/魔方定向”)
if i.startswith(“new2”):
tg2_new=tg_(i,ct_zyw_new,“超级推荐资源位数据”,“tg超推资源位”,ct_column2new,“超推/魔方资源位”)
if “分日报表_点击归因_全渠道归因_15天归因周期" in i:
tg7=tg
(i,AI_list,“拉新快数据”,“tg拉新快数据”,AI_column,“AI智能投放/”+i.split(”_")[0])

print(y)
#导入直通车
ztc_l=[‘日期’,‘计划名称’,‘商品id’,‘展现量’,‘点击量’,‘花费’,‘直接成交金额’,‘直接成交笔数’ ,
‘总成交金额’,‘总成交笔数’,‘宝贝收藏数’,‘店铺收藏数’,‘直接购物车数’,‘总购物车数’]
td=str(datetime.today().date()).replace("-","")#直通车下载的时候命名为今天的
tg5=pd.read_csv(filepath+"/"+td+"_单元.csv")
tg5=tg5[tg5[“商品id”].notnull()]
f_ztc=tg5[[“单元id”,“商品id”]]
f_ztc.drop_duplicates(inplace=True)
tg5=tg5[ztc_l+[‘推广类型’,‘总收藏数’]]
tg5.to_sql(name=“直通车推广明细”,con=engine_147_tg,if_exists=‘append’,index=False)
tg5.to_sql(name=“tg直通车明细”,con=engine_198_s,if_exists=‘append’,index=False)
tg5.to_sql(name=“直通车推广明细”,con=engine_198_tg15,if_exists=‘append’,index=False)
shutil.move(“D:/QN/”+td+"_单元.csv", “s/原始数据/直通车/单元”+y+".csv")

tg6=pd.read_csv(filepath+"/"+td+"_关键词.csv")
tg6=tg6.merge(f_ztc,how=“left”,on=“单元id”)
tg6=tg6[ztc_l+[‘关键词’] ]
tg6.rename(columns={‘商品id’:‘产品ID’},inplace=True)
tg6.to_sql(name=“直通车关键词”,con=engine_147_tg,if_exists=‘append’,index=False)
tg6.to_sql(name=“tg直通车关键词”,con=engine_198_s,if_exists=‘append’,index=False)
tg6.to_sql(name=“直通车关键词”,con=engine_198_tg15,if_exists=‘append’,index=False)
shutil.move(“D:/QN/”+td+"_关键词.csv", “s/原始数据/直通车/关键词”+y+".csv")
print(“OK”)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值