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  :一晌小贪欢([email protected])
@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基础学习专栏

相关推荐
墨绿色的摆渡人11 分钟前
pytorch小记(十六):PyTorch中的`nn.Identity()`详解:灵活模型设计的秘密武器
人工智能·pytorch·python
TimeDoor16 分钟前
整理我的macos的复杂混乱的python环境
开发语言·python·macos
懒羊羊不进村23 分钟前
Python深度学习基础——深度神经网络(DNN)(PyTorch)
python·深度学习·dnn
owde24 分钟前
深入 C++ 线程库:从创建到同步的探索之旅
开发语言·c++·thread·lock
凌冰_25 分钟前
Java Collections 类中常用方法使用
java·开发语言
jz_ddk27 分钟前
[实战]多天线空域抗干扰技术:原理、数学推导与工程仿真(完整仿真代码)
python·算法·毕业设计·信号处理
T0uken1 小时前
【C++】信号槽与事件总线的轻量实现
开发语言·c++
du fei1 小时前
C# 串口通信
开发语言·c#
船长@Quant1 小时前
VectorBT量化入门系列:第三章 VectorBT策略回测基础
python·量化策略·sklearn·ta-lib·量化回测·vectorbt
Spring-wind2 小时前
【golang】堆和栈的区别
开发语言·golang