助力高校计算机教育 —— 码云为老师推出免费高校版,高达 200 人的协作团队
Watch Star Fork

ppmoon / gbt2260Go

加入码云
与超过 200 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
golang实现的中华人民共和国县以上行政区划代码包
一键复制 编辑 原始数据 按行查看 历史
README.MD 1.94 KB ppmoon 提交于 2018-06-04 20:49 . 修改readme

中国行政区划代码

中华人民共和国县以上行政区划代码的golang包

安装

go get github.com/ppmoon/gbt2260

或者你使用vgo

vgo get github.com/ppmoon/gbt2260

如何使用?

输入一个行政区域代码比如 130104 返回一个省市县的数组[河北省 石家庄市 桥西区] 如果是直辖市比如北京 110000 返回就是[北京市]

//引入包
import "github.com/ppmoon/gbt2260"
//打印查看
region := gbt2260.NewGBT2260()
localCode := region.SearchGBT2260("130104")
fmt.Println(localCode)
[河北省 石家庄市 桥西区]

数据来源

目前数据使用2018年4月的最新数据

中华人民共和国民政部

民政部啥时候发布新数据还是挺没准的,看之前的数据是一年一发,今年貌似1月2月发了,但是后面就没发,现在也找不到什么规律。 不然考虑每次载入程序的时候都去民政部官方网站更新下数据。

其他

1.gbt2260的数据存储到了一个trie 字典树当中。这样的数据结构查询的时候更快。(虽然3000多条数据完全没感觉~~~)

2.数据并不是从GBT2260-201802.csv生成的,我使用gengbt2260.go根据GBT2260-201802.csv生成了一个gbt2260Table.go因为golang程序编译了以后不会去包的根目录去寻找csv文件而是从编译好的二进制文件的当前目录寻找的。所以将直接数据编译成源码写到内存里。

3.希望这个扩展包可以帮助大家解决行政区域的业务需求。我自己是用来解析身份证信息来使用的。如果觉得对你有帮助欢迎star谢谢。

大家使用的过程当中如果发现任何问题或者想吐槽我的代码可以提交issue。 数据需要更新的时候也麻烦大家提交issue,当然未来也希望这个包可以自动从民政部的网站上更新中华人民共和国县以上行政区划代码的数据。

评论 ( 0 )

你可以在登录后,发表评论

10_float_left_people 10_float_left_close