教你使用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网络爬虫采集联想词示例
Feb 11 Python
解析Python中的二进制位运算符
May 13 Python
python实现用于测试网站访问速率的方法
May 26 Python
python爬虫入门教程--利用requests构建知乎API(三)
May 25 Python
python中的随机函数random的用法示例
Jan 27 Python
python实现写数字文件名的递增保存文件方法
Oct 25 Python
django session完成状态保持的方法
Nov 27 Python
django迁移数据库错误问题解决
Jul 29 Python
Django用户认证系统 User对象解析
Aug 02 Python
numpy创建单位矩阵和对角矩阵的实例
Nov 29 Python
python 检查数据中是否有缺失值,删除缺失值的方式
Dec 02 Python
pycharm 使用tab跳出正在编辑的括号(){}{}等问题
Feb 26 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:风雨欲来 路在何方?
2006/10/09 PHP
用PHP实现维护文件代码
2007/06/14 PHP
关于PHP中Object对象的笔记分享
2011/06/28 PHP
PHP批量检测并去除文件BOM头代码实例
2014/05/08 PHP
php生成动态验证码gif图片
2015/10/19 PHP
php面向对象重点知识分享
2019/09/27 PHP
laravel orm 关联条件查询代码
2019/10/21 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
静态的动态续篇之来点XML
2006/08/15 Javascript
学习jquery必备 api中英文对照的chm手册 下载
2007/05/03 Javascript
防止网站内容被拷贝的一些方法与优缺点好处与坏处分析
2007/11/30 Javascript
JavaScript使用技巧精萃[代码非常实用]
2008/11/21 Javascript
javascript实时显示北京时间的方法
2015/03/12 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
2016/07/04 Javascript
微信小程序入门教程
2016/11/18 Javascript
JavaScript箭头(arrow)函数详解
2017/06/04 Javascript
vue动态绑定class的几种常用方式小结
2019/05/21 Javascript
解决Vue打包后访问图片/图标不显示的问题
2019/07/25 Javascript
js中关于Blob对象的介绍与使用
2019/11/29 Javascript
python生成指定长度的随机数密码
2014/01/23 Python
python操作摄像头截图实现远程监控的例子
2014/03/25 Python
用Python实现QQ游戏大家来找茬辅助工具
2014/09/14 Python
Python自动化运维和部署项目工具Fabric使用实例
2016/09/18 Python
Python获取当前路径实现代码
2017/05/08 Python
python flask实现分页效果
2017/06/27 Python
基于python实现简单日历
2018/07/28 Python
pandas使用apply多列生成一列数据的实例
2018/11/28 Python
Python requests模块实例用法
2019/02/11 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
2019/09/20 Python
python基于plotly实现画饼状图代码实例
2019/12/16 Python
python3连接mysql获取ansible动态inventory脚本
2020/01/19 Python
Python模拟登入的N种方式(建议收藏)
2020/05/31 Python
keras实现VGG16 CIFAR10数据集方式
2020/07/07 Python
Python实现自动签到脚本功能
2020/08/20 Python
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
大学学生个人总结
2015/02/15 职场文书