教你使用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中文编码那些事
Jun 25 Python
状态机的概念和在Python下使用状态机的教程
Apr 11 Python
用Python进行行为驱动开发的入门教程
Apr 23 Python
Python模拟三级菜单效果
Sep 11 Python
对pandas中apply函数的用法详解
Apr 10 Python
python的dataframe转换为多维矩阵的方法
Apr 11 Python
在python中使用xlrd获取合并单元格的方法
Dec 26 Python
解决Tensorflow sess.run导致的内存溢出问题
Feb 05 Python
简单了解django处理跨域请求最佳解决方案
Mar 25 Python
判断Threading.start新线程是否执行完毕的实例
May 02 Python
Python爬虫设置ip代理过程解析
Jul 20 Python
Python之Sklearn使用入门教程
Feb 19 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
PHP高自定义性安全验证码代码
2011/11/27 PHP
分享php多功能图片处理类
2016/05/15 PHP
一个很简单的办法实现TD的加亮效果.
2006/06/29 Javascript
javascript 数组学习资料收集
2010/04/11 Javascript
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
js猜数字小游戏的简单实现代码
2013/07/02 Javascript
鼠标划过实现延迟加载并隐藏层的js代码
2013/10/11 Javascript
js监听鼠标点击和键盘点击事件并自动跳转页面
2014/09/24 Javascript
JavaScript 模块的循环加载实现方法
2015/12/13 Javascript
javascript回到顶部特效
2016/07/30 Javascript
video.js使用改变ui过程
2017/03/05 Javascript
socket.io实现在线群聊功能
2017/04/07 Javascript
基于vue+ bootstrap实现图片上传图片展示功能
2017/05/17 Javascript
bootstrap daterangepicker双日历时间段选择控件详解
2017/06/15 Javascript
JavaScript之class继承_动力节点Java学院整理
2017/07/03 Javascript
浅谈node的事件机制
2017/10/09 Javascript
vue-cli项目优化方法- 缩短首屏加载时间
2018/04/01 Javascript
微信小程序商品详情页的底部弹出框效果
2020/11/16 Javascript
15个顶级开源JavaScript框架和库
2018/10/10 Javascript
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
Python中的高级函数map/reduce使用实例
2015/04/13 Python
Python中对象迭代与反迭代的技巧总结
2016/09/17 Python
win7 x64系统中安装Scrapy的方法
2018/11/18 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
CSS3属性background-size使用指南
2014/12/09 HTML / CSS
html5简单示例_动力节点Java学院整理
2017/07/07 HTML / CSS
德国最大的拼图在线商店:Puzzle.de
2016/12/17 全球购物
什么叫做SQL注入,如何防止
2016/10/04 面试题
应届大学生求职信
2014/07/20 职场文书
2014年仓库管理员工作总结
2014/11/18 职场文书
清洁员岗位职责
2015/02/15 职场文书
党校团干班培训心得体会
2016/01/06 职场文书
MySQL 分页查询的优化技巧
2021/05/12 MySQL
python保存图片的四个常用方法
2022/02/28 Python
python3 字符串str和bytes相互转换
2022/03/23 Python
微信告警的zabbix监控系统 监控整个NGINX集群
2022/04/18 Servers