参考网址:
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