DQinYuan / chinese_province_city_area_mapper

一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的python模块
MIT License
1.67k stars 396 forks source link

省市区只有省和区存在的地级市,比如湖北仙桃,海南万宁,能匹配出区,但不能根据区匹配省。 #35

Open htyangya opened 5 years ago

htyangya commented 5 years ago

如标题所说,试了全文模式,如果地址里只有地级市名称,无法匹配出省,但如果有省名,则可以匹配。

DQinYuan commented 5 years ago

好像是有这个问题,需要增强一下

q2515045 commented 5 years ago

我这边区都出不来 比如屯县 是直属海南省的 ,这个完全匹配不出来。

Octemull commented 5 years ago

我这边区都出不来 比如屯县 是直属海南省的 ,这个完全匹配不出来。

从cpca/resources/pca.csv中看,海南省下属的区中,没有屯县,只有屯昌县。在_fill_area_map里加上屯县,可以匹配出区

Octemull commented 5 years ago

在_fill_province后加上两行就可以

def _fill_province(pca):
    """填充省"""
    # 有市
    if (not pca.province) and pca.city and (pca.city in city_map):
        pca.province = city_map.get_value(pca.city, P)
    # 仅有区,没有市的情况
    elif (not pca.province) and (not pca.city) and pca.area and (pca.area in area_map):
        pca.province = area_map.get_value(pca.area, P)
zigner-song commented 4 years ago

百度百科:省直辖县词条

中华人民共和国民政部官网显示,当前中国,河南省、湖北省、海南省、新疆维吾尔自治区有省(自治区)直辖县级行政单位。 河南省:济源市。 [3] 湖北省:仙桃市、潜江市、天门市、神农架林区。 [4] 海南省:五指山市、文昌市、琼海市、万宁市、东方市、定安县、屯昌县、澄迈县、临高县、琼中黎族苗族自治县、保亭黎族苗族自治县、白沙黎族自治县、昌江黎族自治县、乐东黎族自治县、陵水黎族自治县。 [5] 新疆维吾尔自治区:石河子市、阿拉尔市、图木舒克市、五家渠市、北屯市、铁门关市、双河市、可克达拉市、昆玉市、胡杨河市。 [6]