caog
import pandas as pd#匹配可发库存
1.
import os
lst=os.listdir(r'E:\每日必做\琪琪小象库存')
lst1=[]
for i in lst:
if i[:2] == '12':
print(i)
path='E:/每日必做/琪琪小象库存/'+i
a=pd.read_excel(path,sheetname='Sheet1')
a['日期']=i.replace('.','/').replace('xlsx','')
lst1.append(a[['商家编码','日期','可发库存']])
print(i)
print(a.sheet_names)
df_user = pd.concat(lst1, axis=0, ignore_index=True)
df_user.to_excel(r'C:\Users\Administrator\Desktop\12月库存.xlsx')
2.
df = pd.read_excel(r'C:\Users\Administrator\Desktop\12月退款分析\12月订单.xlsx')
kc = pd.read_excel(r'C:\Users\Administrator\Desktop\12月退款分析\12月库存.xlsx')
aa = pd.DataFrame((str(x).split(' ') for x in df['付款时间']), index=df.index, columns=['日期1', '付款时刻'])
df['日期'] =aa['日期1']
bb = pd.DataFrame((str(x).split(' ') for x in kc['日期']), index=kc.index, columns=['日期1', '付款时刻'])
kc['日期'] = bb['日期1']
df['商家时间']=df['日期']+df['商家编码']
kc['商家时间']=kc['日期']+kc['商家编码']
df = pd.merge(df, kc[['商家时间', '可发库存']], how='left', on=['商家时间'])
for i in df.index:
if df['可发库存'].at[i]<15:
df['可发库存'].at[i]=0
elif df['可发库存'].at[i]>=15:
df['可发库存'].at[i]=1
df.to_excel(r'C:\Users\Administrator\Desktop\12月退款分析\12月订单校对_1.xlsx')#另存为
3.
df = pd.read_excel(r'C:\Users\Administrator\Desktop\12月退款分析\12月订单.xlsx')
ys_order=pd.read_excel(r'C:\Users\Administrator\Desktop\12月退款分析\12月原始订单.xlsx')#读取原始订单
ys_order.drop_duplicates(subset='原始单号', keep='first', inplace=True)#删除原始订单重复值
df.rename(columns={'子单原始单号':'原始单号'},inplace=True)
new_order=pd.merge(df,ys_order[['原始单号','支付时间']],how='left',on='原始单号')
new_order.to_excel(r'C:\Users\Administrator\Desktop\12月退款分析\12月订单校对.xlsx')
4.
df=new_order
new_order=df[df['订单来源']=='接口抓取']
# print('总销量:'+str(df['下单数量'].sum()))#显示总销量
df = pd.read_excel(r'C:\Users\lenovo\Desktop\aa\12.xlsx')
kc = pd.read_excel(r'C:\Users\lenovo\Desktop\aa\12月库存.xlsx')
bb = pd.DataFrame((str(x).split(' ') for x in kc['日期']), index=kc.index, columns=['日期1', '付款时刻'])
kc1 = pd.merge(kc, bb, left_index=True, right_index=True)
aa = pd.DataFrame((str(x).split(' ') for x in df['付款时间']), index=df.index, columns=['日期1', '付款时刻'])
df = pd.merge(df, aa, left_index=True, right_index=True)
df['日期']=aa['日期1']
kc['商家时间']=kc1['日期1']+kc1['商家编码']
df['商家时间']=df['日期']+df['商家编码']
result = pd.merge(df, kc[['日期', '商家编码','可发库存','商家时间']], how='left', on='商家时间') new_order=df.merge(ys_order[['原始单号','支付时间']],how='left',left_on='子单原始单号',right_on='原始单号',sort=False)#vlookup原始单号的付款时间
df=new_order
#更改付款时间
for i in df.index:
if df['付款时间'].at[i]!=df['支付时间'].at[i]:
print('on')
df['付款时间'].at[i]=df['支付时间'].at[i]
# print(df[['付款时间','支付时间']])
df.to_excel(r'C:\Users\lenovo\Desktop\订单1.xlsx')#另存修改付款时间后的文件
caog的更多相关文章
- java基础学习总结——this关键字
一.this关键字
- (十二)this关键字
---摘自孤傲苍狼博客 一.this关键字 this是一个引用,它指向自身的这个对象. 看内存分析图:
- java基础—this关键字
一.this关键字
随机推荐
- 中国建设工程造价管理系统 http://zaojiasys.jianshe99.com/cecaopsys/
建造师造价管理系统漏洞提示: 可以绕过,直接进入后台,为了安全起见,我就不多说了,. 里面的数据,从小学,中学,高中,大学,户口,电话,身份等, 很全, 本人没有破坏任何数据,
- 答题卡作文模块的一种方法-VSTO
在开始做之前,首先百度了Word有没有简单的生成方法,果然有--页面布局->稿纸设置->方格式稿纸 效果如下图所示.很规范,但是不是答题卡所需要的,因为这样会把所有页面都设置为这样的稿纸. ...
- 刷题upupup【Java中Queue、Stack、Heap用法总结】
[Queue] 先进先出(First-In-First-Out),LinkedList实现了Queue接口.它只允许在表的前端进行删除操作,而在表的后端进行插入操作. add() 增加一个 ...
- 本地搭建Apache Tomcat服务器
首先说下Apache和Tomcat的区别: 相同点:1.两者都是apache组织开发的 2.两者都有HTTP服务的功能 3.两者都是免费的 不同点:Apache是web服务器,专门提供HTTP服务的, ...
- 关于在UNIcode环境下得TCHAR转string类型以及string转TCHAR
using namespace System::Text: String ^TCHARtoStr(TCHAR *temp) //TCHAR转String { array<unsigned cha ...
- 阿里推荐的线程使用方法 ThreadPoolExecutor
阿里推荐原因:使用线程池可以减少创建和销毁线程上所花的时间以及系统资源的开销,然后之所以不用Executors自定义线程池,用ThreadPoolExecutor是为了规范线程池的使用,还有让其他人更 ...
- CSS3-3
关于背景 一. 渐变&径向渐变(background-image: -webkit-linear-gradient() && background-image: -webkit ...
- express3/4引入socket.io
app.js var express = require('express'); var path = require('path'); var session = require('express- ...
- 201671010142 2017-2 《java第八章学习感悟》
泛型程序设计 学会如何定义简单泛型类,引入了一个变量T,用<>,并放在类名的后面. 如何定义一个带有类型参数的简单方法.当调用一个泛型方法时,在方法名前的尖括号中放入具体的类型.
- Bom简单介绍
1.什么是bom? 全称:浏览器对象模型(Browser Object Model) bom是js的一部分, 2.bom的对象,方法和方法 bom提供了主要的8大对象:Window,Screen,Lo ...