教你使用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中的一些高级编程技巧
Apr 02 Python
Python的__builtin__模块中的一些要点知识
May 02 Python
Tensorflow 利用tf.contrib.learn建立输入函数的方法
Feb 08 Python
Python 3.7新功能之dataclass装饰器详解
Apr 21 Python
python ftp 按目录结构上传下载的实现代码
Sep 12 Python
pandas 条件搜索返回列表的方法
Oct 30 Python
pyttsx3实现中文文字转语音的方法
Dec 24 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
Apr 16 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
Jun 27 Python
python之pymysql模块简单应用示例代码
Dec 16 Python
10个示例带你掌握python中的元组
Nov 23 Python
python 如何上传包到pypi
Dec 24 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自动更新新闻DIY
2006/10/09 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
2011/11/05 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
javascript验证只能输入数字和一个小数点示例
2013/10/21 Javascript
jQuery 无限级菜单的简单实例
2014/02/21 Javascript
jQuery分别获取选中的复选框值的示例
2014/06/17 Javascript
javascript图片滑动效果实现
2021/01/28 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
Flask中获取小程序Request数据的两种方法
2017/05/12 Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
2017/08/16 Javascript
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
vue实现todolist功能、todolist组件拆分及todolist的删除功能
2019/04/11 Javascript
javascript设计模式 ? 简单工厂模式原理与应用实例分析
2020/04/09 Javascript
详解Python中的各种函数的使用
2015/05/24 Python
python机器学习之神经网络(三)
2017/12/20 Python
windows下添加Python环境变量的方法汇总
2018/05/14 Python
用Python从0开始实现一个中文拼音输入法的思路详解
2019/07/20 Python
Python re 模块findall() 函数返回值展现方式解析
2019/08/09 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
Python使用type动态创建类操作示例
2020/02/29 Python
python:解析requests返回的response(json格式)说明
2020/04/30 Python
pytorch SENet实现案例
2020/06/24 Python
解决pytorch 交叉熵损失输出为负数的问题
2020/07/07 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
html5应用缓存_动力节点Java学院整理
2017/07/13 HTML / CSS
《燕子专列》教学反思
2014/02/21 职场文书
文明城市标语
2014/06/16 职场文书
感恩老师演讲稿600字
2014/08/28 职场文书
单位未婚证明范本
2014/11/25 职场文书
辞职信标准格式
2015/02/27 职场文书
2015社区个人工作总结范文
2015/05/13 职场文书
2015年体育教学工作总结
2015/05/20 职场文书
什么是创业计划书?什么是商业计划书?这里一一解答
2019/07/12 职场文书
pytorch中的model=model.to(device)使用说明
2021/05/24 Python
关于CentOS 8 搭建MongoDB4.4分片集群的问题
2021/10/24 MongoDB