教你使用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复制文件代码实现
Dec 23 Python
Python实现的百度站长自动URL提交小工具
Jun 27 Python
Python2.x版本中cmp()方法的使用教程
May 14 Python
python实现爬取千万淘宝商品的方法
Jun 30 Python
Python 的描述符 descriptor详解
Feb 27 Python
Python读取文件内容的三种常用方式及效率比较
Oct 07 Python
python人民币小写转大写辅助工具
Jun 20 Python
python读取目录下最新的文件夹方法
Dec 24 Python
对python 调用类属性的方法详解
Jul 02 Python
Python绘制频率分布直方图的示例
Jul 08 Python
python自动化实现登录获取图片验证码功能
Nov 20 Python
PyQt5 QThread倒计时功能的实现代码
Apr 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
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
2011/03/28 PHP
php通过各种函数判断0和空
2020/07/04 PHP
php连接sftp的作用以及实例代码
2019/09/23 PHP
日历查询的算法 如何计算某一天是星期几
2012/12/12 Javascript
使用原生js写的一个简单slider
2014/04/29 Javascript
JavaScript中实现map功能代码分享
2015/06/11 Javascript
深入浅析JavaScript中的作用域和上下文
2016/03/26 Javascript
javascript数组遍历的方法实例分析
2016/09/13 Javascript
如何在AngularJs中调用第三方插件库
2017/05/21 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
React Native预设占位placeholder的使用
2017/09/28 Javascript
微信小程序支付前端源码
2018/08/29 Javascript
在 Vue-CLI 中引入 simple-mock实现简易的 API Mock 接口数据模拟
2018/11/28 Javascript
vue组件库的在线主题编辑器的实现思路
2020/04/03 Javascript
JavaScript代码简化技巧实例解析
2020/09/09 Javascript
[01:15:45]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第一局
2016/02/26 DOTA
如何使用七牛Python SDK写一个同步脚本及使用教程
2015/08/23 Python
详解在Python程序中自定义异常的方法
2015/10/16 Python
简单实现python爬虫功能
2015/12/31 Python
python 字符串和整数的转换方法
2018/06/25 Python
Python生态圈图像格式转换问题(推荐)
2019/12/02 Python
pytorch 修改预训练model实例
2020/01/18 Python
python3字符串输出常见面试题总结
2020/12/01 Python
自荐信格式写作方法有哪些呢
2013/11/20 职场文书
少先队学雷锋活动月总结
2014/03/09 职场文书
市级文明单位申报材料
2014/05/07 职场文书
歌唱比赛策划方案
2014/06/06 职场文书
公司授权委托书范文
2014/08/02 职场文书
财务科长个人对照检查材料
2014/09/18 职场文书
工程承包协议书范本
2014/09/29 职场文书
文体活动总结
2015/02/04 职场文书
同意报考证明
2015/06/17 职场文书
中学校园广播稿
2015/08/18 职场文书
《和时间赛跑》读后感3篇
2019/12/16 职场文书
MySQL高速缓存启动方法及参数详解(query_cache_size)
2021/07/01 MySQL
台式电脑蓝牙适配器怎么安装?台式电脑蓝牙适配器安装教程
2022/04/08 数码科技