教你使用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解释执行原理分析
Aug 22 Python
Python自动化运维之IP地址处理模块详解
Dec 10 Python
Python标准库笔记struct模块的使用
Feb 22 Python
python2.7无法使用pip的解决方法(安装easy_install)
Apr 03 Python
python操作excel的包(openpyxl、xlsxwriter)
Jun 11 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
Dec 16 Python
Python求离散序列导数的示例
Jul 10 Python
python之pymysql模块简单应用示例代码
Dec 16 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
Nov 24 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
Jan 13 Python
Pycharm 解决自动格式化冲突的设置操作
Jan 15 Python
Python中全局变量和局部变量的理解与区别
Feb 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 $_SERVER详解
2009/01/16 PHP
php批量删除cookie的简单实现方法
2015/01/26 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
2015/09/29 PHP
PHP错误Warning:mysql_query()解决方法
2015/10/24 PHP
PHP中命名空间的使用例子
2019/03/22 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
2019/05/06 PHP
JavaScript 关键字屏蔽实现函数
2009/08/02 Javascript
javascript 当前日期转化为中文的实现代码
2010/05/13 Javascript
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)
2011/06/27 Javascript
js 自制滚动条的小例子
2013/03/16 Javascript
JS实现简单的Canvas画图实例
2013/07/04 Javascript
分享jQuery插件的学习笔记
2016/01/14 Javascript
jQuery遍历json的方法(推荐)
2016/06/12 Javascript
vue-cli 如何打包上线的方法示例
2018/05/08 Javascript
JavaScript 正则命名分组【推荐】
2018/06/07 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
Python中常用信号signal类型实例
2018/01/25 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
2018/11/10 Python
Python高级特性与几种函数的讲解
2019/03/08 Python
Python 实现数据结构中的的栈队列
2019/05/16 Python
200行python代码实现2048游戏
2019/07/17 Python
python飞机大战pygame碰撞检测实现方法分析
2019/12/17 Python
Python面向对象中类(class)的简单理解与用法分析
2020/02/21 Python
python递归调用中的坑:打印有值, 返回却None
2020/03/16 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
巴西购物网站:Onofre Agora
2020/06/08 全球购物
住房公积金接收函
2014/01/09 职场文书
CAD制图人员的自荐信
2014/02/07 职场文书
毕业生自荐信如何写
2014/03/24 职场文书
毕业大学生自荐信
2014/06/17 职场文书
学校总务处领导班子民主生活会对照检查材料思想汇报
2014/09/27 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
失职检讨书大全
2015/01/26 职场文书
2015年党小组工作总结
2015/05/26 职场文书
部门主管竞聘书
2015/09/15 职场文书
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL