Python100个库分享第23个—jionlp收发件地址拆分(自动补全):省、市、区\县—包括自治区 (办公篇)

目录

专栏导读

🌸 欢迎来到Python办公自动化专栏---Python处理办公问题,解放您的双手

🏳️‍🌈 博客主页:请点击------> 一晌小贪欢的博客主页求关注

👍 该系列文章专栏:请点击------>Python办公自动化专栏求订阅

🕷 此外还有爬虫专栏:请点击------>Python爬虫基础专栏求订阅

📕 此外还有python基础专栏:请点击------>Python基础学习专栏求订阅

文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏

❤️ 欢迎各位佬关注! ❤️

库的介绍

将完整的地址中提取出省、市、县三级地名,或者乡镇、村、社区两级详细地名,你可以使用jionlp实现快速解析。在使用之前,你需要先安装这个库。

库的安装

地址拆分库------jionlp

python 复制代码
pip install jionlp -i https://pypi.tuna.tsinghua.edu.cn/simple/

读取Excel库------openpyxl

python 复制代码
pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple/

写入Excel库------xlsxwriter

python 复制代码
pip install xlsxwriter -i https://pypi.tuna.tsinghua.edu.cn/simple/

数据准备

目录结构

完整代码

python 复制代码
# -*- coding: UTF-8 -*-
'''
@Project :地址省市区分离
@File    :main.py
@IDE     :PyCharm 
@Author  :一晌小贪欢(278865463@qq.COM)
@Date    :2024/4/19 10:13 
'''

import os
import openpyxl
import xlsxwriter
import jionlp

for f in os.listdir("./数据源/"):
    # 打开 Excel 文件,获取 Workbook 对象
    workbook = openpyxl.load_workbook('./数据源/' + os.listdir('./数据源/')[0], read_only=True)
    # 选择需要读取数据的 Sheet,获取 Worksheet 对象
    worksheet = workbook.active

    workbook_w = xlsxwriter.Workbook(f'./结果/拆分结果-{f}')
    worksheet_w = workbook_w.add_worksheet()

    # 循环遍历每一行,将每一行的数据以列表形式添加到 rows 列表中
    for i, row in enumerate(worksheet.iter_rows(values_only=True), 1):
        d = list(row)
        if i == 1:
            worksheet_w.write_row(i - 1, 0, d)
            continue
        raw_addres = jionlp.parse_location(d[0])
        sheng = raw_addres['province']
        shi = raw_addres['city']
        qu_xian = raw_addres['county']
        print(f'省:{sheng} 市:{shi} 区\县:{qu_xian}')
        worksheet_w.write_row(i - 1, 0, [d[0], sheng, shi, qu_xian])
        # print(f"行{i}",d)
    workbook_w.close()

总结

希望对初学者有帮助

致力于办公自动化的小小程序员一枚

希望能得到大家的【一个免费关注】!感谢

求个 🤞 关注 🤞

此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏

求个 ❤️ 喜欢 ❤️

此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏

求个 👍 收藏 👍

此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏

相关推荐
flashlight_hi11 分钟前
LeetCode 分类刷题:2563. 统计公平数对的数目
python·算法·leetcode
java1234_小锋12 分钟前
Scikit-learn Python机器学习 - 特征预处理 - 归一化 (Normalization):MinMaxScaler
python·机器学习·scikit-learn
雨中散步撒哈拉20 分钟前
13、做中学 | 初一下期 Golang数组与切片
开发语言·后端·golang
0wioiw022 分钟前
Go基础(③Cobra)
开发语言·后端·golang
星空的资源小屋25 分钟前
网易UU远程,免费电脑远程控制软件
人工智能·python·pdf·电脑
楼田莉子30 分钟前
C++算法专题学习:栈相关的算法
开发语言·c++·算法·leetcode
IMER SIMPLE31 分钟前
人工智能-python-深度学习-神经网络-MobileNet V1&V2
人工智能·python·深度学习
晨非辰34 分钟前
#C语言——刷题攻略:牛客编程入门训练(九):攻克 分支控制(三)、循环控制(一),轻松拿捏!
c语言·开发语言·经验分享·学习方法·visual studio
_oP_i42 分钟前
Java 服务接口中解决跨域(CORS,Cross-Origin Resource Sharing)问题
java·开发语言
eleqi1 小时前
Python+DRVT 从外部调用 Revit:批量创建楼板
python·系统集成·revit·外部调用·drvt·自动化生产流水线