教你使用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之玩转字符串(2)更新篇
Sep 28 Python
Python3 正在毁灭 Python的原因分析
Nov 28 Python
详解Python爬虫的基本写法
Jan 08 Python
Python做文本按行去重的实现方法
Oct 19 Python
python cx_Oracle模块的安装和使用详细介绍
Feb 13 Python
Python OpenCV 直方图的计算与显示的方法示例
Feb 08 Python
Python使用sort和class实现的多级排序功能示例
Aug 15 Python
Django为窗体加上防机器人的验证码功能过程解析
Aug 14 Python
opencv3/python 鼠标响应操作详解
Dec 11 Python
在python shell中运行python文件的实现
Dec 21 Python
基于python纯函数实现井字棋游戏
May 27 Python
python实现三壶谜题的示例详解
Nov 02 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
星际争霸任务指南——虫族
2020/03/04 星际争霸
使用apache模块rewrite_module (转)
2007/02/14 PHP
php中CI操作多个数据库的代码
2012/07/05 PHP
PHP中判断变量为空的几种方法分享
2013/08/26 PHP
PHP计算一年多少个星期和每周的开始和结束日期
2014/07/01 PHP
微信支付开发维权通知实例
2016/07/12 PHP
PHP程序员必须知道的两种日志实例分析
2020/05/14 PHP
javascript中attribute和property的区别详解
2014/06/05 Javascript
jQuery中on()方法用法实例详解
2015/02/06 Javascript
jQuery经过一段时间自动隐藏指定元素的方法
2015/03/17 Javascript
JavaScript调用浏览器打印功能实例分析
2015/07/17 Javascript
JavaScript与jQuery实现的闪烁输入效果
2016/02/18 Javascript
canvas实现粒子时钟效果
2017/02/06 Javascript
AngularJS $http模块POST请求实现
2017/04/08 Javascript
Vue.js 2.0学习教程之从基础到组件详解
2017/04/24 Javascript
JS 组件系列之BootstrapTable的treegrid功能
2017/06/16 Javascript
浅谈react+es6+webpack的基础配置
2017/08/09 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
JavaScript前端实现压缩图片功能
2020/03/06 Javascript
[01:23:35]Ti4主赛事胜者组 DK vs EG 1
2014/07/19 DOTA
深入探究Python中变量的拷贝和作用域问题
2015/05/05 Python
Python pickle模块用法实例分析
2015/05/27 Python
实用自动化运维Python脚本分享
2018/06/04 Python
python在回调函数中获取返回值的方法
2019/02/22 Python
python Django框架实现web端分页呈现数据
2019/10/31 Python
pytorch实现onehot编码转为普通label标签
2020/01/02 Python
Python 日期的转换及计算的具体使用详解
2020/01/16 Python
Python中文分词库jieba,pkusegwg性能准确度比较
2020/02/11 Python
Python要如何实现列表排序的几种方法
2020/02/21 Python
Django+Uwsgi+Nginx如何实现生产环境部署
2020/07/31 Python
一款利用css3的鼠标经过动画显示详情特效的实例教程
2014/12/29 HTML / CSS
使用iframe+postMessage实现页面跨域通信的示例代码
2020/01/14 HTML / CSS
大学班级文化建设方案
2014/05/06 职场文书
工资收入证明
2014/10/07 职场文书
2014普法依法治理工作总结
2014/12/18 职场文书