教你使用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 pickle 和 shelve模块的用法
Sep 16 Python
Python操作CouchDB数据库简单示例
Mar 10 Python
浅析Python中的多重继承
Apr 28 Python
Python中二维列表如何获取子区域元素的组成
Jan 19 Python
python正则表达式的使用
Jun 12 Python
Python编写一个优美的下载器
Apr 15 Python
解决nohup执行python程序log文件写入不及时的问题
Jan 14 Python
对python实现合并两个排序链表的方法详解
Jan 23 Python
python+mysql实现个人论文管理系统
Oct 25 Python
python3中TQDM库安装及使用详解
Nov 18 Python
python如何发送带有附件、正文为HTML的邮件
Feb 27 Python
Python字符串对齐方法使用(ljust()、rjust()和center())
Apr 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 修改zen-cart下单和付款流程以防止漏单
2010/03/08 PHP
PHP导出带样式的Excel示例代码
2016/08/28 PHP
PHP实现统计所有字符在字符串中出现次数的方法
2017/10/17 PHP
PHP序列化的四种实现方法与横向对比
2018/11/29 PHP
JS 强制设为首页的代码
2009/01/31 Javascript
FireFox下XML对象转化成字符串的解决方法
2011/12/09 Javascript
jquery对ajax的支持介绍
2013/12/10 Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
2014/06/23 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
2015/12/03 Javascript
原生js实现autocomplete插件
2016/04/14 Javascript
jQuery实现邮箱下拉列表自动补全功能
2016/09/08 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
2016/11/21 Javascript
JavaScript定义全局对象的方法示例
2017/01/12 Javascript
浅析vue给不同环境配置不同打包命令
2018/08/17 Javascript
javascript设计模式 ? 装饰模式原理与应用实例分析
2020/04/14 Javascript
全面理解Python中self的用法
2016/06/04 Python
利用python求相邻数的方法示例
2017/08/18 Python
python正则表达式匹配[]中间为任意字符的实例
2018/12/25 Python
PyCharm2018 安装及破解方法实现步骤
2019/09/09 Python
Python queue队列原理与应用案例分析
2019/09/27 Python
完美解决pycharm导入自己写的py文件爆红问题
2020/02/12 Python
python通过对字典的排序,对json字段进行排序的实例
2020/02/27 Python
jupyter notebook快速入门及使用详解
2020/11/13 Python
python切片作为占位符使用实例讲解
2021/02/17 Python
借助HTML5 Canvas API制作一个简单的猜字游戏
2016/03/25 HTML / CSS
美国羽绒床上用品第一品牌:Pacific Coast
2018/08/25 全球购物
Java里面StringBuilder和StringBuffer有什么区别
2016/06/06 面试题
工程造价自荐信
2013/10/09 职场文书
大型车展策划方案
2014/02/01 职场文书
《雕塑之美》教学反思
2014/04/24 职场文书
通讯稿范文
2015/07/22 职场文书
消防宣传标语大全
2015/08/03 职场文书
2016年6月份红领巾广播稿
2015/12/21 职场文书
企业团队精神心得体会
2016/01/19 职场文书
导游词之丹东鸭绿江
2019/10/24 职场文书
无线电知识基础入门篇
2022/02/18 无线电