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关键字
随机推荐
- numpy 数组索引数组
在numpy中,数组除了可以被整数索引,还可以被数组索引. a[b]就是已数组b的元素为索引,读取数组a的值. 当被索引数组a是一维数组,b是一维或则多维数组时,结果维度维度与索引数组b相同. a = ...
- mysql、nginx、php-fpm的启动与关闭
mysql 一.启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld start 3.使用 sa ...
- node-sass模块的安装
使用淘宝源 npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass/ npm config set phant ...
- 从零开始学习Java多线程(二)
前面已经简单介绍进程和线程,为后续学习做铺垫.本文讨论多线程传参,Java多线程异常处理机制. 1. 多线程的参数传递 在传统开发过程中,我们习惯在调用函数时,将所需的参数传入其中,通过函数内部逻辑处 ...
- Java Design Pattern(Factory,Singleton,Prototype,Proxy)
一.Factory 设计模式: the most common pattern,create a new object ,eg. A a=new A();工厂模式的好处:工厂模式可以做到把创建对象单独 ...
- 关于HttpSession 和 Hibernate框架中 session异同点的简单解析
快速理解: HttpSession中的session是一个容器用来盛基于会话机制的信息. 比喻:我把钱放进银行的保险柜里. 解析:我的钱就是我的信息,ID等 银行的保险柜就是session容器. Hi ...
- MySQL—ORM框架,sqlalchemy模块
武老师博客:ORM框架介绍 import os #1.当一类函数公用同样参数时候,可以转变成类运行 - 分类 #2.面向对象: 数据和逻辑组合在一起了 #3. 一类事物共同用有的属性和行为(方法) # ...
- html中form表单的使用方法和介绍
from表单的使用方法 一.表单赏析 二.了解表单功能:用于搜集不同类型的用户输入的内容 有了表单,网页的内容可以由用户自己创建,那么对于网页来说,我们既是网页创建都者,也是网页的消费者. 三.常用的 ...
- unity中遍历Transform的子物体
1.遍历Transform直接子transform private void Start() { var Equipment = building.transform.FindChild(" ...
- 解决Charles https抓包显示<unknown>
用mac电脑开发安卓的都应该知道青花瓷吧~(不知道的都是小菜鸡,邪恶.jpg) Charles类似Windows版的Fiddler(没用过Fiddler的都是小菜鸡中的战斗机,嘲笑.png),基本用法 ...