geojson文件的JSONDecodeError

2024-09-21 00:49:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试创建一个基于纽约邮政编码的choropleth地图。我在网上找到了一些不同的教程,但它们都因同一个问题而失败(大部分都引用了同一个文件,所以不太奇怪)

这是我尝试使用的geojson文件。 https://github.com/fedhere/PUI2015_EC/blob/master/mam1612_EC/nyc-zip-code-tabulation-areas-polygons.geojson

当我尝试使用“代码A”或引用“代码B”或“代码C”中的下载版本打开它时,我会收到相同的错误消息。我试图检查文件,但似乎找不到问题所在和解决方案。我在另一个线程中尝试了所有代码建议,但没有任何效果

错误消息是: JSONDecodeError:期望值:第7行第1列(字符6)

我的代码如下-引用的数据框'df_zi'有4列,但是为了可视化,我将只使用zip和customers

有人对如何克服这个问题有什么建议吗?我对使用json文件非常陌生,所以它完全超出了我的舒适区

提前谢谢

from urllib.request import urlopen
import json
import pandas as pd
import folium

# Code A:

with urlopen('https://github.com/fedhere/PUI2015_EC/blob/master/mam1612_EC/nyc-zip-code-tabulation-areas-polygons.geojson') as response:
    NYC_zipcodes_json = json.load(response)

# Code B:

map = folium.Map(location=[40.730610,-73.935242],zoom_start=10)
map.choropleth(geo_data="nyc-zip-code-tabulation-areas-polygons.geojson",
             data=df_zi, # my dataset
             columns=['zip', 'customers'], 
             key_on='feature.properties.postalCode'
             fill_color='BuPu', fill_opacity=0.7, line_opacity=0.2,
             legend_name='customers')

# Code C

with open("nyc-zip-code-tabulation-areas-polygons.geojson", encoding='utf-8', errors='ignore') as json_data:
     NYC_zipcodes_json = json.load(json_data, strict=False)

dataframe df_zi:
zip          783 non-null object
state        783 non-null object
county       434 non-null object
customers    783 non-null int64


Tags: 文件代码importjsondatageojsoncodezip
1条回答
网友
1楼 · 发布于 2024-09-21 00:49:39

你下载了错误的URL

查看您正在获取的uRL的内容。也就是说,尝试以下方法:

curl -s <theurl> | less

您会发现,您下载的是该文件的GitHub HTML页面,这当然对您没有任何好处。您需要下载实际的JSON内容,您可以通过单击“Raw”按钮来获得这些内容。这将带您到:

如果您使用那个url,您将得到一个有效的JSON文件

相关问题 更多 >

    热门问题