教你使用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爬虫之抓取糗事百科代码分享
Nov 06 Python
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
Mar 19 Python
简单介绍Python中的try和finally和with方法
May 05 Python
Python中使用插入排序算法的简单分析与代码示例
May 04 Python
Python深度优先算法生成迷宫
Jan 22 Python
python学生信息管理系统
Mar 13 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
Apr 18 Python
PIL图像处理模块paste方法简单使用详解
Jul 17 Python
python删除列表元素的三种方法(remove,pop,del)
Jul 22 Python
python读取dicom图像示例(SimpleITK和dicom包实现)
Jan 16 Python
Python2.x与3​​.x版本有哪些区别
Jul 09 Python
python实现xml转json文件的示例代码
Dec 30 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
使用迭代器 遍历文件信息的详解
2013/06/08 PHP
PHP扩展程序实现守护进程
2015/04/16 PHP
php实用代码片段整理
2016/11/12 PHP
浅析PHP echo 和 print 语句
2020/06/30 PHP
关于this和self的使用说明
2010/08/01 Javascript
Javascript this 的一些学习总结
2012/08/02 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
2015/01/02 Javascript
jquery实现标签上移、下移、置顶
2015/04/26 Javascript
nodejs爬虫抓取数据乱码问题总结
2015/07/03 NodeJs
基于Arcgis for javascript实现百度地图ABCD marker的效果
2015/09/12 Javascript
jQuery+HTML5美女瀑布流布局实现方法
2015/09/21 Javascript
详解javascript实现瀑布流绝对式布局
2016/01/29 Javascript
扩展Bootstrap Tooltip插件使其可交互的方法
2016/11/07 Javascript
纯js实现悬浮按钮组件
2016/12/17 Javascript
使用vue构建移动应用实战代码
2017/08/02 Javascript
微信小程序 获取session_key和openid的实例
2017/08/17 Javascript
如何让你的JS代码更好看易读
2017/12/01 Javascript
微信小程序实现搜索指定景点周边美食、酒店
2019/05/18 Javascript
[02:26]2018DOTA2亚洲邀请赛赛前采访-Newbee篇
2018/04/03 DOTA
python抓取网页中的图片示例
2014/02/28 Python
Python里disconnect UDP套接字的方法
2015/04/23 Python
python下载图片实现方法(超简单)
2017/07/21 Python
使用pandas中的DataFrame数据绘制柱状图的方法
2018/04/10 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
django_orm查询性能优化方法
2018/08/20 Python
Python自省及反射原理实例详解
2020/07/06 Python
opencv 阈值分割的具体使用
2020/07/08 Python
html5 canvas里绘制椭圆并保持线条粗细均匀的技巧
2013/03/25 HTML / CSS
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
Tripadvisor新西兰:阅读评论,比较价格和酒店预订
2018/02/10 全球购物
项目合作计划书
2014/01/09 职场文书
食堂个人先进事迹
2014/01/22 职场文书
医学专业应届生的自我评价
2014/02/28 职场文书
2014年安全员工作总结
2014/11/13 职场文书
2015年世界环境日活动方案
2015/05/05 职场文书
正规借条模板
2015/05/26 职场文书