教你使用Pandas直接核算Excel中快递费用


Posted in Python onMay 12, 2021

一、确定核算规则

教你使用Pandas直接核算Excel中快递费用

二、根据核算规则编写代码,生成核算列

# -*- coding:utf-8 -*- 
import pandas as pd 
from math import ceil
import os

def account(adress,weight):
    
    if adress == "湖南":
        if weight <= 3:
            totel = 2.5
        elif  (weight >= 3) and (weight<=5):
            totel = 3.5 + ceil((weight-3))*1
        else:
            totel = ceil(weight)*1
        return totel
            
    elif adress in ["河北","天津","山西","浙江","江苏","安徽","福建","山东","江西","广东","广西","河南","湖北","陕西","四川","重庆","云南","贵州"]:
        if weight <= 3:
            totel = 2.5
        elif  (weight >= 3) and (weight<=5):
            totel = 3.5 + ceil((weight-3))*1
        else:
            totel = ceil(weight)*2 
        return totel
    
    elif adress in ["深圳","北京","上海"]:
        if weight <= 3:
            totel = 3.3
        elif  (weight >= 3) and (weight<=5):
            totel = 3.5 + ceil((weight-3))*1.5
        else:
            totel = ceil(weight)*2
        return totel
            
    elif adress in ["海南","辽宁","黑龙江","吉林"]:
        if weight <= 3:
            totel = 2.5
        elif  (weight >= 3) and (weight<=5):
            totel = 3.5 + ceil((weight-3))*2.5
        else:
            totel = ceil(weight)*3
        return totel
    elif adress in ["内蒙古","甘肃","宁夏","青海"]:
        if  weight <= 1:
            totel = 9
        else:
            totel = 9 + ceil(weight-1)*6 
        return totel
    elif adress == "新疆":
        if  weight <= 1:
            totel = 15
        else:
            totel = 15 + ceil(weight-1)*12 
        return totel
    elif adress == "西藏":
        if  weight <= 1:
            totel = 16
        else:
            totel = 15 + ceil(weight-1)*18 
        return totel    
    else:
        print("你输入的省份不合法!!!")
    
file_path = input("请输入文件路径:")   
sheet_name = input("请输入工作簿名称:")
pf = pd.read_excel(file_path,sheet_name=sheet_name)
#获取省份一列
pro = pf["省份"].values.tolist()
#获取重量一列
wt = pf["重量"].values.tolist()
#核算列
totel = []
for p,w in zip(pro,wt):
    print(p,w)
    totel.append(account(p,w))

pf["最新核算结果"] = totel
file_name = os.path.basename(file_path)
pf.to_excel(os.path.join(os.path.dirname(file_path),os.path.basename(file_path).split(".")[0]+sheet_name+"最新核算结果"+".xlsx"))

三、输入账单,进行核算。

教你使用Pandas直接核算Excel中快递费用

在脚本文件目录中执行pyinstaller -F hesuan.py 进行打包exe文件,如果为安装pyinstaller,使用pip install pyinstaller 安装。点击运行打包后的exe文件,输入文件的路径名和sheet名,就可以进行自动核算,脚本运行完成后会自动保存一个新的Excel文件。

教你使用Pandas直接核算Excel中快递费用教你使用Pandas直接核算Excel中快递费用

教你使用Pandas直接核算Excel中快递费用

到此这篇关于教你使用Pandas直接核算Excel中快递费用的文章就介绍到这了,更多相关Pandas核算Excel中快递费用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python返回真假值(True or False)小技巧
Apr 10 Python
django 发送邮件和缓存的实现代码
Jul 18 Python
python批量获取html内body内容的实例
Jan 02 Python
python2.7使用plotly绘制本地散点图和折线图
Apr 02 Python
使用python实现mqtt的发布和订阅
May 05 Python
Python 爬虫实现增加播客访问量的方法实现
Oct 31 Python
使用Tensorflow实现可视化中间层和卷积层
Jan 24 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
May 07 Python
Python接口自动化系列之unittest结合ddt的使用教程详解
Feb 23 Python
pytorch显存一直变大的解决方案
Apr 08 Python
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
May 28 Python
Python自动化爬取天眼查数据的实现
Jun 15 Python
用python开发一款操作MySQL的小工具
May 12 #Python
浅谈Python类的单继承相关知识
May 12 #Python
PyCharm 安装与使用配置教程(windows,mac通用)
在python中实现导入一个需要传参的模块
May 12 #Python
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
PyTorch 如何设置随机数种子使结果可复现
May 12 #Python
Python Parser的用法
May 12 #Python
You might like
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
使用EXT实现无刷新动态调用股票信息
2008/11/01 Javascript
网站导致浏览器崩溃的原因总结(多款浏览器) 推荐
2010/04/15 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
2012/03/14 Javascript
解决Extjs4中form表单提交后无法进入success函数问题
2013/11/26 Javascript
JS不间断向上滚动效果代码
2013/12/25 Javascript
javascript控制在光标位置插入文字适合表情的插入
2014/06/09 Javascript
浅谈javascript实现八大排序
2015/04/27 Javascript
jQuery实现首页图片淡入淡出效果的方法
2015/06/10 Javascript
前端编码规范(3)JavaScript 开发规范
2017/01/21 Javascript
js中this的指向问题归纳总结
2018/11/28 Javascript
微信小程序分享海报生成的实现方法
2018/12/10 Javascript
一个小时快速搭建微信小程序的方法步骤
2019/04/15 Javascript
Vue使用localStorage存储数据的方法
2019/05/27 Javascript
原生JS实现烟花效果
2020/03/10 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
详解微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)
2020/07/21 Javascript
JS removeAttribute()方法实现删除元素的某个属性
2021/01/11 Javascript
Python脚本实时处理log文件的方法
2016/11/21 Python
Python生成随机密码的方法
2017/06/16 Python
详解python OpenCV学习笔记之直方图均衡化
2018/02/08 Python
Python 分享10个PyCharm技巧
2019/07/13 Python
Django权限设置及验证方式
2020/05/13 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
2021/03/03 Python
应聘美工求职信
2013/11/07 职场文书
项目管理计划书
2014/01/09 职场文书
大型会议策划方案
2014/05/17 职场文书
房屋租赁合同补充协议
2014/10/11 职场文书
实习科室评语
2015/01/04 职场文书
检讨书模板
2015/01/29 职场文书
七年级数学教学反思
2016/02/17 职场文书
Jackson 反序列化时实现大小写不敏感设置
2021/06/29 Java/Android
Java使用jmeter进行压力测试
2021/07/09 Java/Android
Redis实现一个账号只能登录一个设备
2022/04/19 Redis
docker 制作mysql镜像并自动安装
2022/05/20 Servers
苹果macOS 13开发者预览版Beta 8发布 正式版10月发布
2022/09/23 数码科技