以前写过一个类似的小程序,分析统计局行政区划代码,然后生成SQL,最近项目又要用到这东西,于是根据 GB/T 2260-2007 重写了一次,没用多少时间,有需求的朋友可以拿去用。

package demo.area;import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;/*** Created by lvjj on 2015/12/21.* @author lvjj@lvjj.org*/
public class AreaGen {public static void main(String[] args) throws IOException {Document doc = Jsoup.connect("http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201504/t20150415_712722.html" ).get();Elements tbody = doc.getElementsByClass("TRS_PreAppend");Area province = new Area();Area city = new Area();for (Element tr : tbody.get(0).getElementsByTag("p")) {Area country = new Area("1","中国","1","1",null,null);String[] areaS = tr.text().split(" ");Area area = new Area();area.setId(replaceForChar(areaS[0], 160));area.setCode(replaceForChar(areaS[0], 160));area.setName(replaceForChar(areaS[1],12288));if(area.getCode().substring(2,6).equals("0000")){//省,自治区,,自辖市,特别行政区area.setType("2");area.setParent(country);province = new Area(area.getId(), area.getName(), area.getCode(), area.getType(), country, area.getParents());} else if(area.getCode().substring(4,6).equals("00")){//市area.setType("3");area.setParent(province);city = new Area(area.getId(), area.getName(), area.getCode(), area.getType(), province, area.getParents());} else {//区area.setType("4");area.setParent(city);}System.out.printf("insert into sys_area (id,name,code,type,parent_id,parent_ids) values('%s','%s','%s',%s,'%s','%s');\n",area.getId(),area.getName(),area.getCode(),area.getType(),area.getParent().getId(),area.getParents());}}public static String replaceForChar(String string,int regex) {StringBuffer sb = new StringBuffer();for (char c : string.toCharArray()) {if (c == regex) {continue;}sb.append(new String(String.valueOf(c)));}return sb.toString();}static class Area {public Area(){}public Area(String id, String name, String code, String type, Area parent, String parents) {this.id = id;this.name = name;this.code = code;this.type = type;this.parent = parent;this.parents = parents;}String id,name,code,type,parents;Area parent;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getCode() {return code;}public void setCode(String code) {this.code = code;}public String getType() {return type;}public void setType(String type) {this.type = type;}public Area getParent() {return parent;}public void setParent(Area parent) {this.parent = parent;}public String getParents() {List ps = new ArrayList();getParents(ps,this);ps.add("0");    //根Collections.reverse(ps);StringBuffer sb = new StringBuffer();for (int i = 0; i < ps.size(); i++) {sb.append(ps.get(i));sb.append(",");}return sb.toString();}private void getParents(List stringBuilder,Area area) {if(area.getParent() != null){stringBuilder.add(area.getParent().getId());getParents(stringBuilder,area.getParent());}}public void setParents(String parents) {this.parents = parents;}}}

分析国家统计局行政区划代码(省市区数据)生成SQL相关推荐

  1. 免费下载_最新行政区划代码省市区数据(2020年6月)

    我用阿里云盘分享了「全国行政区划代码_完整.xlsx」,你可以不限速下载 复制这段内容打开「阿里云盘」App 并保存即可获取 链接:https://www.aliyundrive.com/s/XuXp ...

  2. Java代码导出数据库百万数据生成sql脚本

    Java代码查询数据生成update更新sql 一.查询数据库数据 /*** 导入查询数据的接口**/@Autowiredprivate DataMapper dataMapper;/*** 编写单元 ...

  3. excel数据生成sql insert语句

    excel数据生成sql insert语句 excel表格中有A.B.C三列数据,希望导入到数据库users表中,对应的字段分别是name,sex,age . 在你的excel表格中增加一列,利用ex ...

  4. 将表数据生成SQL脚本的存储过程和工具

    将表数据生成SQL脚本的存储过程示例: CREATE PROCEDURE dbo.UspOutputData @tablename sysname AS declare @column varchar ...

  5. 最新行政区划代码省市区数据库(2018年5月1日 )

    最新行政区划代码省市区数据库 备忘地址:最新行政区划代码省市区数据库(2018年5月1日 )

  6. 最新中国省市区县乡镇 5 级行政区划代码Json数据

    之前我爬了datav的地图选择器中全国省市区的geoJSON数据 为了获取最新省市区的行政区划代码用于级联组件,又爬了国家统计局的内容 点此查看 index_2019_level_3.json:全国省 ...

  7. 行政区域村级划分数据库_最新行政区划代码省市区三级 乡镇街道四级 村五级 数据库(2020年11月版 )...

    最新 行政区划代码 数据库 省市区三级 4331行街道镇乡四级 44983行  到村五级 678956行 2020年11月22日发行版已经同步官方最新数据[民政部行政区划调整批复] 省市区 全面 标准 ...

  8. 四级地址库 国家标准的行政区划代码 省市区街道

    当输入收货地址等时,需要四级地址库,例如淘宝维护收货地址: 本文章提供四级地址库下载,包括一级省.二级市.三级区.四级街道四个层级,于2020年12月更新. 一级省,共31条记录.二级市,共371条记 ...

  9. matlab可以使用词云分析吗,利用豆瓣短评数据生成词云

    在之前的文章中,我们获得了豆瓣爬取的短评内容,汇总到了一个文件中,但是,没有被利用起来的数据是没有意义的. 前文提到,有一篇微信推文的关于词云制作的一个实践记录,准备照此试验一下. 思路分析 读文件 ...

最新文章

  1. Spring_boot_pom.xml和启动方式
  2. Redis学习笔记02--主从数据库配置
  3. Python模块整理(四):线程模块threading
  4. 测试无数据_fpc柔性线路板压合辅材的测试方法
  5. ExecutorService——shutdown方法和awaitTermination方法
  6. 【转】学习apicloud和IOS之间的模块化使用
  7. 中间固定两边自适应 两边固定中间自适应 promise
  8. mysql 丛集_MYSQL
  9. mapxtreme for java_在MapXtreme for Java 4.8.0 中公布新制造的电子地图
  10. 服务器机柜设备信息卡,信息机房标识标准V.doc
  11. 点亮了中行U盾12864屏线 12液晶,附12864详细手册
  12. [Nowcoder] 2021年度训练联盟热身训练赛第六场 Mini Battleship | 深搜 回溯 乱搞
  13. NCBI上基因前面有个accession(编号)分别有NC是什么意思
  14. 初中计算机教师个人总结报告,初中计算机教师度工作总结工作总结
  15. 关于arduino的各种网站
  16. 小张初识c语言的成长经历NO.1
  17. Linux管道初步了解
  18. 命令行启动burp报错:-Xbootclasspath/p is no longer a supported option.解决方法(Mac )
  19. 台式计算机2017排行分析,CPU天梯图2017年11月最新版 台式电脑处理器天梯排行榜...
  20. Phonics 自然拼读法 ar er ir ur or 元音字母组合 Teacher:Lamb

热门文章

  1. 网络会议蓬勃发展:COVID-19对视频通话市场的影响
  2. 基于WEB的高校校车管理系统设计与实现
  3. 解析SSM框架的优缺点
  4. ffmpeg 视频转码软件
  5. 网站前后端分离情况下如何实现QQ微信等第三方登陆
  6. 【Vue】watch 和 watchEffect 的使用和差异性(1)
  7. 中望CAD机械接口(读写标题栏)(c#)
  8. AutoCAD Electrical 2022—标题栏
  9. 什么是上网行为,上网行为管理的作用,为什么要上网行为管理
  10. 怎么把图片文件压缩到20k以下