教你使用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 相关文章推荐
Django框架中方法的访问和查找
Jul 15 Python
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
May 24 Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
May 29 Python
python排序函数sort()与sorted()的区别
Sep 18 Python
django 类视图的使用方法详解
Jul 24 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
Nov 15 Python
python将时分秒转换成秒的实例
Dec 07 Python
python中with用法讲解
Feb 07 Python
关于python中的xpath解析定位
Mar 06 Python
Python实现快速大文件比较代码解析
Sep 04 Python
python 元组和列表的区别
Dec 30 Python
如何利用python生成MD5并去重
Dec 07 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第一次无法获取cookie问题处理
2014/12/15 PHP
PHP结合Jquery和ajax实现瀑布流特效
2016/01/07 PHP
PHP多进程之pcntl_fork的实例详解
2017/10/15 PHP
PHP抽象类与接口的区别详解
2019/03/21 PHP
自写简单JS判断是否已经弹出页面
2010/10/20 Javascript
jquery下动态显示jqGrid以及jqGrid的属性设置容易出现问题的解决方法
2010/10/22 Javascript
JS获取图片实际宽高及根据图片大小进行自适应
2013/08/11 Javascript
自己编写的类似JS的trim方法
2013/10/09 Javascript
jquery解析xml字符串简单示例
2014/04/11 Javascript
DOM节点删除函数removeChild()用法实例
2015/01/12 Javascript
45个JavaScript编程注意事项、技巧大全
2015/02/11 Javascript
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
2015/03/16 Javascript
Javascript实现div的toggle效果实例分析
2015/06/09 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
2016/04/01 Javascript
js判断某个字符出现的次数的简单实例
2016/06/03 Javascript
纯JS实现简单的日历
2017/06/26 Javascript
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
js es6系列教程 - 基于new.target属性与es5改造es6的类语法
2017/09/02 Javascript
全面解析vue router 基本使用(动态路由,嵌套路由)
2018/09/02 Javascript
react使用antd表单赋值,用于修改弹框的操作
2020/10/29 Javascript
JQuery绑定事件四种实现方法解析
2020/12/02 jQuery
python socket网络编程步骤详解(socket套接字使用)
2013/12/06 Python
Python中Collections模块的Counter容器类使用教程
2016/05/31 Python
Python BS4库的安装与使用详解
2018/08/08 Python
基于python判断目录或者文件代码实例
2019/11/29 Python
我们是伦敦女孩:WalG
2018/01/08 全球购物
Crabtree & Evelyn英国官网:瑰珀翠护手霜、香水、沐浴和身体护理
2018/04/26 全球购物
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
意大利在线药房:Saninforma
2021/02/11 全球购物
Linux内核产生并发的原因
2012/07/13 面试题
土木工程应届生自荐信
2013/09/24 职场文书
学前教育学生自荐信范文
2013/12/31 职场文书
篮球社团活动总结
2014/06/27 职场文书
好好学习保证书
2015/02/26 职场文书
导游词之寿县报恩寺
2020/01/19 职场文书
vue如何在data中引入图片的正确路径
2022/06/05 Vue.js