教你使用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 BeautifulSoup中文乱码问题的2种解决方法
Apr 22 Python
Python使用sorted排序的方法小结
Jul 28 Python
Python 3.6 性能测试框架Locust安装及使用方法(详解)
Oct 11 Python
python通过socket实现多个连接并实现ssh功能详解
Nov 08 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
Nov 15 Python
opencv实现图片模糊和锐化操作
Nov 19 Python
Python2和Python3中urllib库中urlencode的使用注意事项
Nov 26 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
Dec 26 Python
python求绝对值的三种方法小结
Dec 04 Python
使用python客户端访问impala的操作方式
Mar 28 Python
python mysql中in参数化说明
Jun 05 Python
利用Python判断你的密码难度等级
Jun 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小程序自动提交到自助友情连接
2009/11/24 PHP
PHP面试题之文件目录操作
2015/10/15 PHP
修改Laravel5.3中的路由文件与路径
2016/08/10 PHP
根据出生日期自动取得星座的js代码
2010/07/20 Javascript
jquery实现的一个导航滚动效果具体代码
2013/05/27 Javascript
JS定时刷新页面及跳转页面的方法
2013/07/04 Javascript
JavaScript插件化开发教程 (一)
2015/01/27 Javascript
在jQuery中处理XML数据的大致方法
2015/08/14 Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
2015/11/07 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
jQuery实现点击任意位置弹出层外关闭弹出层效果
2016/10/19 Javascript
jquery做个日期选择适用于手机端示例
2017/01/10 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
2017/01/10 Javascript
详解Vue 开发模式下跨域问题
2017/06/06 Javascript
详解vuex状态管理模式
2018/11/01 Javascript
elementUI select组件默认选中效果实现的方法
2019/03/25 Javascript
JavaScript 作用域scope简单汇总
2019/10/23 Javascript
微信小程序文章列表功能完整实例
2020/06/03 Javascript
在vue中使用Echarts利用watch做动态数据渲染操作
2020/07/20 Javascript
浅析JavaScript 函数柯里化
2020/09/08 Javascript
python中os操作文件及文件路径实例汇总
2015/01/15 Python
Windows上配置Emacs来开发Python及用Python扩展Emacs
2015/11/20 Python
python实现二分查找算法
2017/09/21 Python
python读取指定字节长度的文本方法
2019/08/27 Python
Python安装依赖(包)模块方法详解
2020/02/14 Python
Python限制内存和CPU使用量的方法(Unix系统适用)
2020/08/04 Python
解决Python安装cryptography报错问题
2020/09/03 Python
Scrapy项目实战之爬取某社区用户详情
2020/09/17 Python
Python中pass的作用与使用教程
2020/11/13 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
大学生两会精神学习心得体会
2014/03/10 职场文书
幼儿园招生广告
2014/03/19 职场文书
精神文明建设标语
2014/06/16 职场文书
改进作风怎么办发言材料
2014/08/17 职场文书
股东授权委托书范本
2014/09/13 职场文书
乡镇党建工作汇报材料
2014/10/27 职场文书