按省、市、县划分中国地区

chinaarea的Python项目详细描述


说明

一个省 -> 多个市,一个市 -> 多个县

一个县 -> 多个市, 一个市 -> 多个省

备注:县级名称单位可能会重复, 返回所有查到的市级单位

来源:国家统计局 2017年统计用区划代码和城乡划分代码(截止2017年10月31日)

地址:http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2017/index.html

范围:省 - 市 - 县/区

快速开始

pip install chinaarea

项目结构

chinaarea/
    │  chinaarea.py              # 项目主文件
    │  README.md                 # 说明文件
    │  scrapy.cfg                # scrapy配置文件
    │  __init__.py
    │
    └─stats_spider/             # 抓取数据的scrapy爬虫文件
        │  china_area.sqlite    # 数据保存的sqlite数据库文件
        │  items.py
        │  middlewares.py
        │  models.py
        │  pipelines.py
        │  settings.py
        │  __init__.py
        │
        ├─spiders/             # 抓取数据的爬虫
               area_spider.py
               __init__.py

代码示例

>>>fromchinaareaimportChinaArea>>>ca=ChinaArea()# 获取所有省份>>>ca.get_provinces()['北京市','天津市','河北省','山西省','内蒙古自治区','辽宁省','吉林省','黑龙江省','上海市','江苏省',,'河南省','湖北省','湖南省','广东省','广西壮族自治区','海南省','重庆市','四川省','贵州省','云南省'夏回族自治区', '新疆维吾尔自治区', '台湾省', '香港特别行政区', '澳门特别行政区']# 查找省份名中含有 “山”>>>ca.get_provinces("山")['山西省','山东省']# 查找城市中含有 “大理”>>>ca.get_cities("大理")['大理白族自治州']# 查找县/区中含有 "洛阳">>>ca.get_counties("洛阳")['洛阳高新技术产业开发区']# 通过省份中含有 “河南” 的城市>>>ca.get_cities_by_province("河南")['郑州市','开封市','洛阳市','平顶山市','安阳市','鹤壁市','新乡市','焦作市','濮阳市','许昌市','漯河'周口市', '驻马店市', '河南省直辖县']# 判断是否是一个省份名称,必须是中国行政区域划分中的名称,每个字都要一样>>>ca.is_province("北京")False>>>ca.is_province("北京市")True# 查找字符串中含有省,市,县/区>>>ca.find_areas("深圳市腾讯计算机系统有限公司"){'provinces':set(),'cities':{'深圳市'},'counties':set()}# 显示所有省份,城市,县/区forprovinceinca.get_provinces():print("### %s ###"%province)forcityinca.get_cities(province):print("# %s"%city)forcountyinca.get_counties(city):print("* %s"%county)

说明

  • get_*find_* 都是模糊查找
  • is_* 都是绝对判断

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JPQL中默认查询中的java错误列   java在Swing中设置JComboBox的背景   rest API数据的编码格式,如何在java中解码   java使用RandomAccessFile在中间插入文本之后会删除一些文本   Jackson ObjectMapper JSON to Java对象返回空值   java如何在所有活动上创建一个共享线程?   java无法将UTC转换为IST,它仍然只返回UTC   java main(String[]args)与String[]args={….}不同?   java正则表达式从下面的页面中提取段落   在linux中使用http_代理变量的代理背后的Java应用程序   java视频不会在第二个活动中播放   java将REST响应转换回服务响应   从spring批处理中的java类读取数据   线程“main”中的java异常:0   包含Java containsAll在给定列表时不返回true   安全java许可证实施,创建激活密钥的算法?   java Play框架:将参数传递给自定义标记   java Android Studio从URL获取JSON致命异常   java在安卓中以EditText保存信息