我正在使用Sunlight实验室的Python包装类作为美国人口普查API。但是,我在格式化查询时遇到了一些困难,因为提供的示例不是非常健壮。这个库的核心文件有点难以解释,所以我希望有人能帮我格式化一个查询。
如何使用此包装类格式化查询以查找给定zipcode的填充?
以下是我目前掌握的情况:
from census import Census
from us import states
c = Census("66897530f6275c25f574d3d469c1f4c730b9174a")
print c.sf1.get(('NAME', 'P0080001'), {'for': 'zipcode:*'})
但这给了我一个错误。
P0080001对应于总人口,根据http://api.census.gov/data/2010/sf1/variables.html
包装器代码中的相关代码:
https://github.com/sunlightlabs/census/blob/master/census/core.py
最佳答案
我通过给c.sf1.state_zipcode
打电话来解决这个问题。sf1
包含state_zipcode
地理位置,因此必须同时传递state和zipcode才能返回结果。
用你的例子:
from census import Census
from us import states
c = Census("66897530f6275c25f574d3d469c1f4c730b9174a")
c.sf1.state_zipcode(('NAME', 'P0080001'),states.CA.fips,'94104')
这又回来了
[{'NAME': 'ZCTA5 94104',
'P0080001': '406',
'state': '06',
'zip code tabulation area': '94104'}]
您还可以将zipcode'94104'替换为'*'以从加利福尼亚的所有邮政编码中获取数据。
关于python - 使用针对美国人口普查API的python包装器格式化人口普查查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25270383/