pandas 的excel 查找合并

import numpy as np
import pandas as pd
import datetime
import win32com.client


def getYesterday():  #获取昨天日期
    today=datetime.date.today() 
    oneday=datetime.timedelta(days=1) 
    yesterday=today-oneday  
    return yesterday

def open_xls(xls):#打开表格
    ShiJian = getYesterday() #昨天
    #path ='C:\\Users\\Administrator\\Desktop\\每日流量\\'+str(ShiJian)+'PC本店数据.xls'
    path ='C:\\Users\\Administrator\\Desktop\\每日流量\\'+str(ShiJian)+str(xls)
    df = pd.read_excel(path)#导入到pandas
    df =pd.DataFrame(df[5:50000])#切片获取
    df.columns = ['流量来源','来源明细','访客数','访客数变化','下单买家数','下单买家数变化','下单转化率','下单转化率变化'] #重命名列表名称
    df['流量来源明细'] = df['流量来源']+df['来源明细']
    return (df)

def rm_notes(s):
    return s.replace(',','')

def add_to(x):
    y = 'PC' + str(x)
    return  y

def add_to2(z):
    y = 'WX' + str(z)
    return  y


def new_regroup(Pin,You,Ben):
    df_empty = pd.DataFrame(Pin[['流量来源明细']])

    df_empty['我们的访客数'] = df_empty['流量来源明细'].replace(Ben.set_index('流量来源明细')['访客数']).astype('int')
    df_empty['行业平均访客数'] = df_empty['流量来源明细'].replace(Pin.set_index('流量来源明细')['访客数']).map(rm_notes).astype('int')
    df_empty['行业优秀访客数'] = df_empty['流量来源明细'].replace(You.set_index('流量来源明细')['访客数']).map(rm_notes).astype('int')

    df_empty['我们的支付买家数'] = df_empty['流量来源明细'].replace(Ben.set_index('流量来源明细')['下单买家数']).astype('int')
    df_empty['行业平均支付买家数'] = df_empty['流量来源明细'].replace(Pin.set_index('流量来源明细')['下单买家数']).astype('int')
    df_empty['行业优秀支付买家数'] = df_empty['流量来源明细'].replace(You.set_index('流量来源明细')['下单买家数']).astype('int')


    df_empty['支付买家数平均值'] = df_empty['行业平均支付买家数'] / df_empty['行业平均访客数'] * df_empty['我们的访客数']
    df_empty['支付买家数优秀值'] = df_empty['行业优秀支付买家数'] / df_empty['行业优秀访客数'] * df_empty['我们的访客数']

    return (df_empty)



def name():
    PCBen = open_xls('PC本店数据.xls')
    PCPin = open_xls('PC同行平均数据.xls')
    PCYou = open_xls('PC同行优秀数据.xls')

    WXBen = open_xls('无线本店数据.xls')
    WXPin = open_xls('无线同行平均数据.xls')
    WXYou = open_xls('无线同行优秀数据.xls')


    PC = new_regroup(PCPin,PCYou,PCBen)
    WX = new_regroup(WXPin,WXYou,WXBen)
    PC['流量来源明细']= PC['流量来源明细'] .map(add_to)
    WX['流量来源明细']= WX['流量来源明细'] .map(add_to2)

    report = pd.concat([PC,WX])

    ShiJian = getYesterday() #昨天
    report_name = str(ShiJian)+'单天流量对比.xlsx'

    writer = pd.ExcelWriter(report_name)#新建一个表格
    report.to_excel(writer,'page_1',float_format='%.5f') # float_format 控制精度 将数据写入表格
    writer.save()#保存表格



name()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值