返回顶部
首页 > 资讯 > 后端开发 > Python >基于Python实现快递信息提取
  • 516
分享到

基于Python实现快递信息提取

2024-04-02 19:04:59 516人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录前言一、思路二、解决方案三、小小花絮四、总结前言 前几天在python交流群里边,有个叫【^-^】的粉丝分享了一道Python基础的题目,跟快递信息有关的,题目如下: 现在想要

前言

前几天在python交流群里边,有个叫【^-^】的粉丝分享了一道Python基础的题目,跟快递信息有关的,题目如下:

现在想要达到的效果如下:

一、思路

针对这个问题,首先需要读取列表的信息,之后对列表进行切割,获取列表中的省或者直辖市信息,之后再判断省位信息中是否包含在地址信息中,使用列表追加的方法,进行处理,这里经常会用到字典和列表来存储信息,屡试不爽。

二、解决方案

针对该问题,粉丝【^-^】给出了解决方法,直接上代码如下:

coding: utf-8
def sp(s):
    citys = []
    dizhi = []
    dice = {}
    dic = {}
    for i in s:
        # print(i)
        a = i[1]
        city = a[0:2]
        zlib = a[0:2]
        citys.append(city)
        dizhi.append(zlib)
    cityss = set(citys)  # 去重
    citysss = list(cityss)  # 转为列表
    d = dice.fromkeys(citysss)
    for key in d:
        h = []
        for j in s:
            b = j[1]
            lgezi = b[0:2]
            if lgezi == key:
                h.append(j)
            dic[key] = h
    # print(dic)
    for key in dic:
        # 遍历字典
        print(key, dic[key])


if __name__ == '__main__':
    sp([
        ['王*龙', '北京市海淀区苏州街大恒科技大厦南座4层'],
        ['郭*峰', '河南省商丘市高新技术开发区恒宇食品厂'],
        ['赵*生', '河北省唐山市朝阳道与学院路路口融通大厦2408室'],
        ['张*', '陕西省咸阳市文汇东路6号西藏民族大学'],
        ['刘*民', '北京市大兴区南海家园四里7号楼1单元902'],
        ['郭*兰', '湖北省武汉市湖北省'],
        ['张*强', '河北省张家口市经开区钻石南路11号'],
        ['鞠*龙', '山东省潍坊市玉清街江山帝景B区12号楼一单元14楼'],
        ['李*', '北京市海淀区西二旗智学苑5号楼超市'],
        ['许*康', '北京市西城区西单北大街甲133号'],
        ['叶*生', '江苏省扬州市扬子江中路756号'],
        ['赵*兴', '北京市海淀区西二旗上地信息路1号金远见大楼华纬讯301'],
        ['徐*革', '北京市海淀区闵庄路3号102栋二层206'],
        ['徐*', '安徽省淮南市金荷小区(金格商场旁)'],
        ['雷*', '北京市朝阳区望京街道望京sohoT1C座1201'],
        ['庄*', '浙江省杭州市恒生电子大厦'],
        ['蔡*恩', '湖北省武汉市仁和路沙湖港湾B区1103'],
        ['陈*', '江苏省苏州市巴城镇湖滨北路193号牛吃蟹庄'],
        ['黄*', '北京市朝阳区霄云路26号鹏润大厦A座33层'],
        ['魏*飞', '河北省石家庄市新石北路与红旗大街交口开元大厦502室'],
        ['张*', '山东省济南市兴港路三庆城市主人'],
        ['段*琪', '山西省临汾市福利路尧乡小区'],
        ['刘*', '北京市昌平区龙禧三街骊龙园601'],
        ['王*生', '上海市杨浦区邯郸路复旦大学遗传学楼319室'],
        ['王*君', '江苏省扬州市叶挺路318号建行营业部'],
        ['王*义', '北京市东城区环球贸易中心D座'],
        ['韩*鉴', '北京市门头沟区滨河路葡东小区七号楼4层D门'],
        ['罗*若', '陕西省西安市龙首北路宫园一号5号楼4单元'],
        ['王*', '北京市海淀区上地东路盈创动力大厦e座801c源清慧虹信息科技'],
        ['马*', '湖北省武汉市庙山中路10号名湖豪庭7栋1403'],
        ['常*峰', '山西省太原市迎新街'],
        ['侯*', '浙江省杭州市江陵路1541号'],
        ['许*娟', '上海市宝山区殷高西路高境二村177号502'],
        ['朱*', '北京市海淀区东升镇宝盛东路奥北科技园领智中心B座5层'],
        ['吴*峰', '湖北省武汉市幸福路鸿福花园1栋3006'],
        ['付*诚', '北京市海淀区观林园'],
        ['滕*', '江苏省南京市秣周东路11号双子楼9号楼15楼君度科技'],
        ['石*刚', '辽宁省大连市大连市经济技术开发区福泉北路20号'],
        ['程*', '北京市昌平区沙河兆丰家园'],
        ['武*', '北京市昌平区回龙观西大街龙腾苑五区16号楼1单元202'],
        ['郭*欣', '北京市西城区阜成门 万通新世界 B座1503']
    ])

代码不算多,需要花点时间去读,不过涉及的知识点并不复杂,基本上有点Python基础,也可以理解。代码运行之后,可以看到效果如下:

不过后来我在读取这份代码的时候,发现中间有个地方写的着实有些冗余,稍微修改下,代码方面简洁一些,一些函数和变量命名加了一些对应的现实意义的单词,可读性强了一丢丢,代码如下:

# coding: utf-8
def sp(text):
    city = []
    dice = {}
    dic = {}
    address = [info[-1] for info in text]
    for city_info in address:
        city.append(city_info[0:2])
    cities = list(set(city))  # 先去重,然后转为列表
    # print(cities)
    dict_keys = dice.fromkeys(cities)

    for key in dict_keys:
        h = []
        for info in text:
            address = info[-1]
            city_info = address[0:2]
            if city_info == key:
                h.append(info)
            dic[key] = h
    # print(dic)
    for key in dic:
        # 遍历字典
        print(key, dic[key])


if __name__ == '__main__':
    sp([
        ['王*龙', '北京市海淀区苏州街大恒科技大厦南座4层'],
        ['柴*虎', '北京市昌平区北七家镇顺玮阁小区'],
        ['韩*', '辽宁省葫芦岛市小庄子乡宝仓村'],
        ['魏*森', '北京市昌平区于辛庄路,赋腾国创中心,2楼'],
        ['邓*明', '北京市丰台区新华街三里1号楼305'],
        ['赵*', '上海市宝山区宝山区高境镇高境一村11号后3号车库'],
        ['徐*亮', '北京市海淀区花园东路11号泰兴大厦302'],
        ['张*凡', '北京市昌平区沙河镇松兰堡迎客家园507'],
        ['赵*', '北京市北京市海淀区农大国际创业园b区6065'],
        ['顾*天', '北京市海淀区上地东路1号华控大厦'],
        ['丁*', '上海市杨浦区安波路533弄硕和商务2号楼1102'],
        ['封*号', '江苏省苏州市陆家镇陆丰东路199号水岸香堤2#2309'],
        ['王*哲', '上海市静安区曲沃路430弄15号401'],
        ['刘**', '湖北省武汉市左岭镇 武汉华星光电一号门'],
        ['付*', '安徽省合肥市长江西路305号电信新技术楼'],
        ['鲁*', '湖北省武汉市武大科技园宏业楼C座'],
        ['张*', '北京市朝阳区小营路13号亚非大厦7层8704室'],
        ['齐*', '湖北省武汉市珞喻路马家庄'],
        ['王*', '北京市海淀区北坞嘉园北里9号楼三单元D01'],
        ['陈*龙', '北京市朝阳区北卫新园'],
        ['曹*生', '江苏省无锡市澄南花苑'],
        ['沈*', '北京市海淀区中关村南大街甲18号北京国际大厦D座7层'],
        ['续*', '山西省晋中市中都广场12层畅快车贷'],
        ['赵*全', '河北省唐山市李钊庄镇大王庄村'],
        ['成*', '上海市虹口区东五小区641号楼2007'],
        ['方*', '上海市闵行区联航路1399弄28号1103室'],
        ['曹*', '上海市浦东新区向城路15号24C'],
        ['韩*德', '北京市大兴区枣园北里小区1号楼8单元202'],
        ['金*鹏', '浙江省温州市温州职业技术学院生活区快递中心'],
        ['陶*明', '浙江省嘉兴市南溪路桂苑小区23幢603'],
        ['李*ir', '北京市丰台区南苑乡 德鑫家园9号楼5单元50'],
        ['姜*杰', '山东省临沂市凤凰岭大街惠民早餐'],
        ['l*xq', '辽宁省沈阳市卫工南街4-4网点2门瀚辰跆拳道'],
        ['单*成', '山东省日照市日照职业技术学院'],
        ['韩*红', '上海市杨浦区隆昌路619号10号楼二楼'],
        ['魏*琪', '北京市丰台区汉威国际广场4区12号楼'],
        ['杨*康', '北京市丰台区丰台科技园汉威广场12栋'],
    ])

三、小小花絮

这里其实还可以通过正则表达式来做地址信息的提取,代码如下:

with open("地址信息.txt", 'r', encoding='utf-8') as f:
    for line in f:
        content = re.compile(r"\['(?P<name>.*?)', '(?P<address>.*?)'\]", re.S)
        result = content.finditer(line)
        for i in result:
            name = i.group("name")
            address = i.group("address")
            print(name, address)

可以得到用户的姓名和地址信息,如下图所示:

之后将得到的数据可以存excel,之后通过pandas进行提取,这里使用小小明大佬给的指导代码,可以提取省位,真不错!

df['地区2']=df.地区.apply(lambda s: s[:(s in ("黑龙江省", "内蒙古自治区"))+2])

四、总结

我是Python进阶者。本文实际生活中的快递信息,基于Python编程,使用Python基础知识中的列表、字典、函数等,实现了数据信息的提取过程。

以上就是基于Python实现快递信息提取的详细内容,更多关于Python快递信息提取的资料请关注编程网其它相关文章!

--结束END--

本文标题: 基于Python实现快递信息提取

本文链接: https://lsjlt.com/news/142380.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 基于Python实现快递信息提取
    目录前言一、思路二、解决方案三、小小花絮四、总结前言 前几天在Python交流群里边,有个叫【^-^】的粉丝分享了一道Python基础的题目,跟快递信息有关的,题目如下: 现在想要...
    99+
    2024-04-02
  • 怎么使用Python PaddleNLP信息抽取提取快递单信息
    这篇文章主要讲解了“怎么使用Python PaddleNLP信息抽取提取快递单信息”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python PaddleNLP信...
    99+
    2023-07-02
  • Python PaddleNLP开源实现快递单信息抽取
    目录前言5 条标注数据,搞定物流快递单信息抽取智能立体库盘点前言 近几年,制造业作为国民经济主体,是国家创造力、竞争力和综合国力的重要体现。作为制造强国建设的主攻方向,可以说,智能制...
    99+
    2024-04-02
  • 基于Python实现最新房价信息的获取
    整个数据获取的信息是通过房源平台获取的,通过下载网页元素并进行数据提取分析完成整个过程 导入相关的网页下载、数据解析、数据处理库 from fake_useragent impor...
    99+
    2024-04-02
  • Python 基于Selenium实现动态网页信息的爬取
    目录一、Selenium介绍与配置1.Selenium简介2. Selenium+Python环境配置二、网页自动化测试1.启动浏览器并打开百度搜索2.定位元素三、爬取动态网页的名人...
    99+
    2024-04-02
  • 基于python实现微信模板消息
    我的风格,废话不多说了,直接给大家贴代码了,并在一些难点上给大家附了注释,具体代码如下所示: #!/usr/bin/env python #-*- coding:utf-8 -*- import url...
    99+
    2022-06-04
    模板 消息 python
  • Python基于Selenium怎么实现动态网页信息的爬取
    这篇文章主要介绍“Python基于Selenium怎么实现动态网页信息的爬取”,在日常操作中,相信很多人在Python基于Selenium怎么实现动态网页信息的爬取问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-06-22
  • 基于java语言实现快递系统
    本文实例为大家分享了java语言实现快递系统的具体代码,供大家参考,具体内容如下 功能介绍: 1、角色切换(快递员和普通用户) 快递员:有存快递、删除快递、修改快递信息、查看所有快递...
    99+
    2024-04-02
  • .netcore 写快递100的快递物流信息查询接口的实现
    快递100的物流信息查询接口,官方提供了一些demo;还好官方提供的代码是.netcore版本写的,不过写的有点low;根据官方提供的代码,我按照.netcore 的风格重构了代码;...
    99+
    2024-04-02
  • Python实现提取PDF简历信息并存入Excel
    目录介绍1. 将PDF文档中的文字读取到word中2. 将word中读到的文字输入到excel中介绍 今天为大家分享一个真实的案例。 今天接到人力资源部同事的需求...
    99+
    2024-04-02
  • 基于Python实现图片主题色的提取
    目录前言实现流程安装依赖提取主题色测试前言 在 Groove 音乐中,当我们改变歌曲时,底部播放栏的颜色会随专辑封面而变,比如下图中播放栏的颜色变成了 aiko 衣服的颜色。下面我们...
    99+
    2024-04-02
  • 如何基于java语言实现快递系统
    这篇文章给大家分享的是有关如何基于java语言实现快递系统的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下功能介绍:1、角色切换(快递员和普通用户)快递员:有存快递、删除快递、修改快递信息、查看所有快递...
    99+
    2023-06-29
  • 基于C++实现信息管理系统
    基于c++设计的信息管理系统,供大家参考,具体内容如下 1、使用类+函数实现2、使用STL容器的vector3、fstream的文件存储方式4、xls文件读入 写出5、数据的四大功能...
    99+
    2024-04-02
  • Pytorch实现GCN(基于Message Passing消息传递机制实现)
    文章目录 前言 一、导入相关库 二、加载Cora数据集 三、定义GCN网络 3.1 定义GCN层 3.1.1 消息传递阶段(message...
    99+
    2023-09-03
    pytorch 深度学习 python 人工智能 神经网络
  • 基于Python实现简易学生信息管理系统
    目录一、系统简介二、步骤分析三、需求实现四、具体实现4.1 添加学生信息的函数4.2 删除学生信息的函数4.3 修改学生信息的函数4.4 查询学生信息的函数4.5 显示所有学生信息五...
    99+
    2024-04-02
  • 基于Python实现文章信息统计的小工具
    目录前言程序主程序 main.py爬虫模块 spider.py持久化模块 store.py执行结果前言 博客园在个人首页有一个简单的博客数据统计,以博客园官方的首页为例: 但是这些...
    99+
    2023-02-14
    Python文章信息统计工具 Python信息统计工具 Python信息统计
  • Python脚本提取fasta文件单序列信息实现
    目录Python脚本编辑使用的文件输入 sys模块从命令行获得文件名称进行序列信息统计的函数使用def制作一个函数.format使用:进行函数计算结果屏幕展示结果输出文件脚本运行Py...
    99+
    2024-04-02
  • 基于Python实现PDF区域文本提取工具
    目录功能简介开发代码功能简介 打开软件后界面如下: 点击打开文件按钮打开之前的PDF文件后效果如下: 框选区域后,标题栏会自动显示当前框选的区域提取到的文字,还可以左右按钮切换:...
    99+
    2024-04-02
  • 基于JavaScript实现密码框验证信息
    本文实例为大家分享了JavaScript实现密码框验证信息的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en...
    99+
    2024-04-02
  • Python爬虫获取基金基本信息
    目录1 前言2 如何抓取基本信息3 xpath 获取数据4 bs4 获取数据5 最终结果展现1 前言 上篇文章Python爬虫获取基金列表我们已经讲述了如何从基金网站上获取基金的列表...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作