update for 2018

This commit is contained in:
Ady Liu
2018-09-30 11:31:56 +08:00
parent 7b0b4c8359
commit 388d8c2ca0
6 changed files with 88 additions and 180 deletions

102
.gitignore vendored
View File

@@ -1,101 +1 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# Jupyter Notebook
.ipynb_checkpoints
# pyenv
.python-version
# celery beat schedule file
celerybeat-schedule
# SageMath parsed files
*.sage.py
# dotenv
.env
# virtualenv
.venv
venv/
ENV/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
dat/

166
README.md
View File

@@ -1,17 +1,17 @@
# 2017年中国全国5级行政区划省、市、县、镇、村
# 2018年中国全国5级行政区划省、市、县、镇、村
* 数据来源 中华人民共和国国家统计局 http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2016/
* 最新数据量 713031 2017/09/15
* 数据来源 中华人民共和国国家统计局 http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2017/
* 最新数据量 719625 `2017年10月31日, 比2017年更新6594条`
* CSV格式 area_code.csv.gz
* SQL格式 area_code.sql.gz
* JSON格式 单JSON格式太大就不生成了
* 建议级联操作,数据量确实太大了
* 级别
* 1级省、直辖市、自治区 31个
* 2级地级市 344个
* 3级市辖区、县、县级市、自治县自治旗、特区、林区 3133个
* 4级镇、乡、民族乡、县辖区、街道 42868个
* 5级村、居委会 666655个
* 1级省、直辖市、自治区 31个
* 2级地级市 343个 (`比2017年减少1个`)
* 3级市辖区、县、县级市、自治县自治旗、特区、林区 3133个 `比2017年增加154个`
* 4级镇、乡、民族乡、县辖区、街道 42868个`比2017年增加578个`
* 5级村、居委会 666655个 `比2017年增加5863个`
## CSV格式
@@ -21,86 +21,94 @@
文本内容
$ gzcat area_code.csv.gz |wc -l
713031
```bash
$ gzcat area_code_2018.csv.tgz |wc -l
719625
$ gzcat area_code.csv.gz |head
1,11,北京市
2,11,北京市,110100000000,市辖区
3,11,北京市,110100000000,市辖区,110101000000,东城区
4,11,北京市,110100000000,市辖区,110101000000,东城区,110101001000,东华门街道办事处
5,11,北京市,110100000000,市辖区,110101000000,东城区,110101001000,东华门街道办事处,110101001001,多福巷社区居委会
5,11,北京市,110100000000,市辖区,110101000000,东城区,110101001000,东华门街道办事处,110101001002,银闸社区居委会
5,11,北京市,110100000000,市辖区,110101000000,东城区,110101001000,东华门街道办事处,110101001005,东厂社区居委会
5,11,北京市,110100000000,市辖区,110101000000,东城区,110101001000,东华门街道办事处,110101001006,智德社区居委会
5,11,北京市,110100000000,市辖区,110101000000,东城区,110101001000,东华门街道办事处,110101001007,南池子社区居委会
5,11,北京市,110100000000,市辖区,110101000000,东城区,110101001000,东华门街道办事处,110101001008,黄图岗社区居委会
$ gzcat area_code_2018.csv.tgz |head
1,11,北京市
2,11,北京市,110100000000,市辖区
3,11,北京市,110100000000,市辖区,110101000000,东城区
4,11,北京市,110100000000,市辖区,110101000000,东城区,110101001000,东华门街道办事处
5,11,北京市,110100000000,市辖区,110101000000,东城区,110101001000,东华门街道办事处,110101001001,多福巷社区居委会
5,11,北京市,110100000000,市辖区,110101000000,东城区,110101001000,东华门街道办事处,110101001002,银闸社区居委会
5,11,北京市,110100000000,市辖区,110101000000,东城区,110101001000,东华门街道办事处,110101001005,东厂社区居委会
5,11,北京市,110100000000,市辖区,110101000000,东城区,110101001000,东华门街道办事处,110101001006,智德社区居委会
5,11,北京市,110100000000,市辖区,110101000000,东城区,110101001000,东华门街道办事处,110101001007,南池子社区居委会
5,11,北京市,110100000000,市辖区,110101000000,东城区,110101001000,东华门街道办事处,110101001008,黄图岗社区居委会
```
## SQL 格式
> $ gzcat area_code_2018.sql.tgz |head -n 38
```sql
# ************************************************************
# Sequel Pro SQL dump
# Version 4541
#
# http://www.sequelpro.com/
# https://github.com/sequelpro/sequelpro
#
# Host: 127.0.0.1 (MySQL 5.7.9-log)
# Database: china_area
# Generation Time: 2018-09-30 03:21:32 +0000
# ************************************************************
## on OS X: $ gzcat area_code.sql.gz |head -n 38
MySQL 内容:
# ************************************************************
# Sequel Pro SQL dump
# Version 4541
#
# http://www.sequelpro.com/
# https://github.com/sequelpro/sequelpro
#
# Host: 127.0.0.1 (MySQL 5.7.9-log)
# Database: bang
# Generation Time: 2017-09-15 05:52:08 +0000
# ************************************************************
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
# Dump of table area_code_2018
# ------------------------------------------------------------
DROP TABLE IF EXISTS `area_code_2018`;
# Dump of table area_code
# ------------------------------------------------------------
CREATE TABLE `area_code_2018` (
`code` bigint(12) unsigned NOT NULL AUTO_INCREMENT COMMENT '区划代码',
`name` varchar(128) NOT NULL DEFAULT '' COMMENT '名称',
`level` tinyint(1) NOT NULL COMMENT '级别1-5,省市县镇村',
`pcode` bigint(12) DEFAULT NULL COMMENT '父级区划代码',
PRIMARY KEY (`code`),
KEY `name` (`name`),
KEY `level` (`level`),
KEY `pcode` (`pcode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```
DROP TABLE IF EXISTS `area_code`;
> 创建视图area_index
CREATE TABLE `area_code` (
`code` bigint(12) unsigned NOT NULL AUTO_INCREMENT COMMENT '区划代码',
`name` varchar(32) NOT NULL DEFAULT '' COMMENT '名称',
`level` tinyint(1) NOT NULL COMMENT '级别1-5,省市县镇村',
`pcode` bigint(12) DEFAULT NULL COMMENT '父级区划代码',
PRIMARY KEY (`code`),
KEY `name` (`name`),
KEY `level` (`level`),
KEY `pcode` (`pcode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```sql
CREATE VIEW area_index AS
SELECT a.code,e.name AS province,d.name AS city ,c.name AS county,b.name AS town,a.name AS villagetr
FROM area_code_2018 a
JOIN area_code_2018 b ON a.level=5 AND b.level=4 AND a.pcode=b.code
JOIN area_code_2018 c ON b.pcode=c.code
JOIN area_code_2018 d ON c.pcode=d.code
JOIN area_code_2018 e ON d.pcode=e.code
ORDER BY a.code
```
## 创建视图area_index
查询几条记录
CREATE VIEW area_index AS
SELECT a.code,e.name AS province,d.name AS city ,c.name AS county,b.name AS town,a.name AS villagetr FROM area_code a
JOIN area_code b ON a.level=5 AND b.level=4 AND a.pcode=b.code
JOIN area_code c ON b.pcode=c.code
JOIN area_code d ON c.pcode=d.code
JOIN area_code e ON d.pcode=e.code
ORDER BY a.code
> SELECT * FROM area_index LIMIT 10
SELECT * FROM area_index LIMIT 10
code province city county town villagetr
110101001001 北京市 市辖区 东城区 东华门街道办事处 多福巷社区居委会
110101001002 北京市 市辖区 东城区 东华门街道办事处 银闸社区居委会
110101001005 北京市 市辖区 东城区 东华门街道办事处 东厂社区居委会
110101001006 北京市 市辖区 东城区 东华门街道办事处 智德社区居委会
110101001007 北京市 市辖区 东城区 东华门街道办事处 南池子社区居委会
110101001008 北京市 市辖区 东城区 东华门街道办事处 黄图岗社区居委会
110101001009 北京市 市辖区 东城区 东华门街道办事处 灯市口社区居委会
110101001010 北京市 市辖区 东城区 东华门街道办事处 正义路社区居委会
110101001011 北京市 市辖区 东城区 东华门街道办事处 甘雨社区居委会
110101001013 北京市 市辖区 东城区 东华门街道办事处 台基厂社区居委会
```text
code province city county town villagetr
110101001001 北京市 市辖区 东城区 东华门街道办事处 多福巷社区居委会
110101001002 北京市 市辖区 东城区 东华门街道办事处 银闸社区居委会
110101001005 北京市 市辖区 东城区 东华门街道办事处 东厂社区居委会
110101001006 北京市 市辖区 东城区 东华门街道办事处 智德社区居委会
110101001007 北京市 市辖区 东城区 东华门街道办事处 南池子社区居委会
110101001008 北京市 市辖区 东城区 东华门街道办事处 黄图岗社区居委会
110101001009 北京市 市辖区 东城区 东华门街道办事处 灯市口社区居委会
110101001010 北京市 市辖区 东城区 东华门街道办事处 正义路社区居委会
110101001011 北京市 市辖区 东城区 东华门街道办事处 甘雨社区居委会
110101001013 北京市 市辖区 东城区 东华门街道办事处 台基厂社区居委会
```

BIN
area_code_2018.csv.tgz Normal file

Binary file not shown.

BIN
area_code_2018.sql.tgz Normal file

Binary file not shown.