我正在尝试通过美国人口普查地理编码器对一组地址进行批量地理编码:http : //geocoding.geo.census.gov/geocoder/
我发现了这个问题:
哈德利的建议非常适合将我的数据帧发送到 API 并取回地理编码地址。我遇到的问题是如何将返回的数据返回到数据框中。我会在那里评论他的回应,但不幸的是,由于这是一个新帐户,我还不能发表评论。
所以我的代码如下:
req <- POST("http://geocoding.geo.census.gov/geocoder/geographies/addressbatch",
body = list(
addressFile = upload_file("mydata.csv"),
benchmark = "Public_AR_Census2010",
vintage = "Census2010_Census2010"
),
encode = "multipart",
verbose())
stop_for_status(req)
content(req)
Run Code Online (Sandbox Code Playgroud)
当我运行 content(req) 时,我得到如下所示的数据:
"946\",\"123 MY STREET, ANYTOWN, TX,
99999\",\"Match\",\"Non_Exact\",\"123 MY STREET, ANYTOWN, TX,
99999\",\"-75.43486,80.423775\",\"95495654\",\"L\",\"99\",\"999\",\"021999\",\"3
005\"\n\"333\",\"456 MY STREET, ANYTOWN, TX,
99999\",\"Match\",\"Exact\",\"456 MY STREET, ANYTOWN, TX,
99999\",\"-75.38545,80.383747\",\"6546542\",\"R\",\"99\",\"999\",\"021999\",\"3002\"\n\
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用这里提到的 jsonlite 方法:Successly coercing paginated JSON object to R dataframe
以及谷歌搜索 httr/content 到数据框,并没有任何运气。我最接近获得我想要的东西的是使用
cat(content(req, "text"), "\n") 它得到的结果看起来像一个我可以用作数据框的 …