无法使用 geopandas 打开 geojson 文件,出现 TypeError

Unable to open geojson file with geopandas, getting TypeError

我正在尝试将 geojson 文件打开到 geopandas 中,但收到以下错误消息:

 Traceback (most recent call last):
 File "C:\Users\arobe\Anaconda3\envs\test_env\lib\site-packages\geopandas\io\file.py", line 95, in read_file
 gdf = GeoDataFrame.from_features(f_filt, crs=crs, columns=columns)
 File "C:\Users\arobe\Anaconda3\envs\test_env\lib\site-packages\geopandas\geodataframe.py", line 283, in from_features
 for f in features_lst:
 File "fiona/ogrext.pyx", line 1369, in fiona.ogrext.Iterator.__next__
 File "fiona/ogrext.pyx", line 232, in fiona.ogrext.FeatureBuilder.build
 TypeError: startswith first arg must be bytes or a tuple of bytes, not str

解决方法在这里 _ have not worked for me and I've tried all manner of encodings. The data is from UK MSOA dataset (https://geoportal.statistics.gov.uk/datasets/f341dcfd94284d58aba0a84daf2199e9_2/geoservice?page=720).

数据下载正常,在 Tableau 中工作正常。它在 Notepad++ 中打开时看起来也没有问题,所以它似乎不是数据问题,但我是新手所以真的不知道我在做什么!

如有任何帮助,我们将不胜感激。

代码片段:

 gdf=gpd.read_file("https://opendata.arcgis.com/datasets/f341dcfd94284d58aba0a84daf2199e9_2.geojson")
 print(gdf.head(10))

 gdf.to_file("msoa.geojson", driver='GeoJSON')

 gdf2=gpd.read_file("msoa.geojson"
             ,driver='GeoJSON'
             )

 print(gdf2.head(10))

我 运行 你的代码 Linux 使用 geopandas v0.8.1,fiona v1.8.17。一切都好。简单剧情如下

不知为何,下载的数据中出现了一些奇怪的字符。我手动删除了它们,因为它们用于我不感兴趣的区域,现在可以使用了。在此处找到解决方案 https://github.com/geopandas/geopandas/issues/621