python借助jieba、addressparser第三库准确提取省市区地址

参考网址:

addressparser · PyPIhttps://pypi.org/project/addressparser/问题导向:处理一个csv文件时,内容包含“地址”一列,我想提取省市区三个部分的内容

总体思路:

---------->(1)安装jiaba

pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ jieba

---------->(2)安装addressparser

pip install addressparser

--------->(3)提取..\Anaconda3\installation location\Lib\site-packages\addressparser中的pca.csv的前四列存为pca_test.csv

import pandas as pd
pca_test=pd.read_table(r'D:\Program Files\Anaconda3\installation location\Lib\site-packages\addressparser\pca.csv',sep=',')
pd.set_option("display.max_columns",None)
pca_test=pca_test.iloc[:,0:4]
pca_test.to_csv(r'E:\Users\User\jupyter-notebook\all ipynb files\result\pca_test.csv',encoding='utf_8_sig',index=False)

----------->(4)用notepad++打开pca_test.csv,复制全部内容,粘贴在...Anaconda3\installation location\Lib\site-packages\jieba\dict.txt内容的后面,并【ctrl+S】保存

----------->(5)通过addressparser实现分词

import addressparser
location_str=datas['地址']
datas['省份']=addressparser.transform(location_str)['省']

----------->(6)随机取样15行查看结果

datas.sample(15)

最后一点补充:

打开addressparser库的__init__.py,发现作者源码实现是通过jieba分词,因此正确提取出中国的省市区地址,必须修改jieba库的字典dict.txt

你可能感兴趣的:(python,开发语言,后端)