美国国家元信息和其他有趣的东西

us的Python项目详细描述


https://circleci.com/gh/unitedstates/python-us/tree/master.svg?style=shield

美国:世界上最棒的套餐

一个易于使用我们和状态元数据的包。

  • 美国所有州和地区
  • 邮政缩写
  • 美联社式缩写
  • FIPS代码
  • 大写
  • 建国年月
  • 时区
  • 语音状态名称查找
  • 是连续的或大陆的
  • 指向州、人口普查、国会选区形状文件的URL, 县和人口普查区

恭喜你,华盛顿。就这个计划而言,你已经成为一个州了。

安装

照例:

pip install us

功能

轻松访问状态信息:

>>> import us
>>> us.states.MD
<State:Maryland>
>>> us.states.MD.fips
u'24'
>>> us.states.MD.name
u'Maryland'
>>> us.states.MD.is_contiguous
True

也包括地区:

>>> us.states.VI.name
u'Virgin Islands'
>>> us.states.VI.is_territory
True
>>> us.states.MD.is_territory
False

所有(实际)状态列表:

>>> us.states.STATES
[<State:Alabama>, <State:Alaska>, <State:Arizona>, <State:Arkansas>,...
>>> us.states.TERRITORIES
[<State:American Samoa>, <State:Guam>, <State:Northern Mariana Islands>,...

如果你想的话,整个爆炸:

>>> us.states.STATES_AND_TERRITORIES
[<State:Alabama>, <State:Alaska>, <State:American Samoa>,...

为了方便起见,STATESTERRITORIESSTATES_AND_TERRITORIES可以 直接从us模块访问:

>>> us.states.STATES
[<State:Alabama>, <State:Alaska>, <State:Arizona>, <State:Arkansas>,...
>>> us.STATES
[<State:Alabama>, <State:Alaska>, <State:Arizona>, <State:Arkansas>,...

还有一个过时地区的列表:

>>> us.states.OBSOLETE
[<State:Dakota>, <State:Orleans>, <State:Philippine Islands>]

状态查找方法允许通过FIPS代码、缩写和名称进行匹配:

>>> us.states.lookup('24')
<State:Maryland>
>>> us.states.lookup('MD')
<State:Maryland>
>>> us.states.lookup('md')
<State:Maryland>
>>> us.states.lookup('maryland')
<State:Maryland>

在那些你不记得怎么拼写密西西比河的日子里, 我们也有拼音名称匹配:

>>> us.states.lookup('misisipi')
<State:Mississippi>

形状文件

你也想要形状文件吗明白了

>>> shpurls = us.states.MD.shapefile_urls()
>>> for region, url in shpurls.items():
...   print "%s: %s" % (region, url)
...
county: http://www2.census.gov/geo/tiger/TIGER2010/COUNTY/2010/tl_2010_24_county10.zip
state: http://www2.census.gov/geo/tiger/TIGER2010/STATE/2010/tl_2010_24_state10.zip
cd: http://www2.census.gov/geo/tiger/TIGER2010/CD/111/tl_2010_24_cd111.zip
zcta: http://www2.census.gov/geo/tiger/TIGER2010/ZCTA5/2010/tl_2010_24_zcta510.zip
tract: http://www2.census.gov/geo/tiger/TIGER2010/TRACT/2010/tl_2010_24_tract10.zip

state对象上的shapefile_urls()方法为 以下区域:

  • 状态
  • 国会选区
  • ZCTA
  • 人口普查范围

如果您知道您想要哪个地区,可以明确请求:

>>> us.states.MD.shapefile_urls('county')
u'http://www2.census.gov/geo/tiger/TIGER2010/COUNTY/2010/tl_2010_24_county10.zip'

映射

各种状态属性之间的映射是常见的需要。这个mapping() 方法将在两个指定字段之间生成查找

>>> us.states.mapping('fips', 'abbr')
{u'30': u'MT', u'54': u'WV', u'42': u'PA', u'48': u'TX', u'45': u'SC',...
>>> us.states.mapping('abbr', 'name')
{u'WA': u'Washington', u'VA': u'Virginia', u'DE': u'Delaware',...

cli

当您需要立即知道状态信息时,有一个state s脚本。

$ states md

*** The great state of Maryland (MD) ***

  FIPS code: 24

  other attributes:
    ap_abbr: Md.
    capital: Annapolis
    capital_tz: America/New_York
    is_obsolete: False
    name_metaphone: MRLNT
    statehood_year: 1788
    time_zones: America/New_York

  shapefiles:
    blockgroup: http://www2.census.gov/geo/tiger/TIGER2010/BG/2010/tl_2010_24_bg10.zip
    cd: http://www2.census.gov/geo/tiger/TIGER2010/CD/111/tl_2010_24_cd111.zip
    county: http://www2.census.gov/geo/tiger/TIGER2010/COUNTY/2010/tl_2010_24_county10.zip
    state: http://www2.census.gov/geo/tiger/TIGER2010/STATE/2010/tl_2010_24_state10.zip
    tract: http://www2.census.gov/geo/tiger/TIGER2010/TRACT/2010/tl_2010_24_tract10.zip
    zcta: http://www2.census.gov/geo/tiger/TIGER2010/ZCTA5/2010/tl_2010_24_zcta510.zip
    block: http://www2.census.gov/geo/tiger/TIGER2010/TABBLOCK/2010/tl_2010_24_tabblock10.zip

贡献

欢迎您的贡献!

状态数据存储在SQLite数据库data.db中,并使用 build.py脚本。如果修改data.db,请确保运行生成 在提交请求之前编写脚本。

除了添加到data.db之外的任何更改都应该附带适当的 在test.py中进行测试。还要检查statescli脚本是否应该 修改以适应您的更改

变更日志

1.0.0

  • 完全支持Python3.6
  • 使用pytest

0.10.0

  • 将水母升级至0.5.3以修复变音错误

0.9.0

  • 添加关于一国是毗连的和/或大陆的信息, 感谢chebee7i

0.8.0

0.7.1

  • 升级至jellfish 0.5.1以修复metaphone大小写错误

0.7

0.6

  • 添加AP样式的状态缩写
  • 使用水母代替变音包
  • 更新至测试请求v1.0.4
  • python 3.3兼容性

0.5

  • 固定内布拉斯加州的州缩写

0.4

  • 添加州首府
  • 加上执政年限

0.3

  • 添加映射方法以生成任意字段的指令

0.2

  • 添加用于快速访问状态的命令行脚本数据

0.1

  • 初始版本
  • 州名和缩写
  • FIPS代码
  • lookup()方法
  • 不同区域的shapefile url

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

推荐PyPI第三方库


热门话题
带truezip的java拆分zip   java Spring,AppEngine:在AppEngine的数据源中添加postgresql url   java Android coverflow   java以编程方式创建复合过滤器,以在log4j 2中定义多个过滤器   java jpa eclipselink异常[eclipselink 4002]   中的java WordNet数据库目录相对路径。罐子   java无法在Spring Boot 2/3中显示登录的用户   java Onetomany:未找到联接表错误   java数据模型演化   java方法在类型列表中添加的(对象)不适用于参数(int)意味着什么?   用java打印两个数组   java SNMP4J发送从不超时   java添加/删除联系人(EditText)+类别(SpinnerBox),可以根据需要动态添加/删除多个联系人   语句和PreparedStatement之间的java差异   java在运行作为JAR归档文件分发的项目时加载图像等资源   来自应用程序或外部服务器的java Cron作业   多线程Java并发:并发添加和清除列表项   java更改单元测试的私有方法行为