有没有办法使用 geopandas 加载 <class '_io.BufferedReader'> 对象?
Is there a way to load a <class '_io.BufferedReader'> object using geopandas?
我正在尝试将 shapefile 作为包数据包含在 Python 中,但我很难理解如何处理 stream
数据。 Pandas' read_excel() 和 read_csv() 工作得很好,但是当我尝试访问更复杂的文件类型时,我不知道我应该做什么:
CPLE_OpenFailedError Traceback (most recent call last)
fiona/_shim.pyx in fiona._shim.gdal_open_vector()
fiona/_err.pyx in fiona._err.exc_wrap_pointer()
CPLE_OpenFailedError: '/vsimem/234656ed68374e389c0c432547115bb1' not recognized as a supported file format.
返回的文件类型是 <class '_io.BufferedReader'>
对象。我希望 geopandas.read_file() 或 fiona.open() 能够解决这个问题,但我认为我错过了关键的一步。这样可以加载地理空间数据吗?
geopandas.read_file()
通常应该使用 GeoPandas 0.9.0 或更新版本打开它。以下代码段适用于我。如果您有一些不起作用的细节,请尝试用一个最小的可重现示例来扩展您的问题。
>>> import geopandas as gpd
>>> import io
>>> df = gpd.read_file(gpd.datasets.get_path('nybb'))
>>> df.to_file('tst.json', driver="GeoJSON")
>>> f = io.open("tst.json", "rb")
>>> type(f)
_io.BufferedReader
>>> df = gpd.read_file(f)
我正在尝试将 shapefile 作为包数据包含在 Python 中,但我很难理解如何处理 stream
数据。 Pandas' read_excel() 和 read_csv() 工作得很好,但是当我尝试访问更复杂的文件类型时,我不知道我应该做什么:
CPLE_OpenFailedError Traceback (most recent call last)
fiona/_shim.pyx in fiona._shim.gdal_open_vector()
fiona/_err.pyx in fiona._err.exc_wrap_pointer()
CPLE_OpenFailedError: '/vsimem/234656ed68374e389c0c432547115bb1' not recognized as a supported file format.
返回的文件类型是 <class '_io.BufferedReader'>
对象。我希望 geopandas.read_file() 或 fiona.open() 能够解决这个问题,但我认为我错过了关键的一步。这样可以加载地理空间数据吗?
geopandas.read_file()
通常应该使用 GeoPandas 0.9.0 或更新版本打开它。以下代码段适用于我。如果您有一些不起作用的细节,请尝试用一个最小的可重现示例来扩展您的问题。
>>> import geopandas as gpd
>>> import io
>>> df = gpd.read_file(gpd.datasets.get_path('nybb'))
>>> df.to_file('tst.json', driver="GeoJSON")
>>> f = io.open("tst.json", "rb")
>>> type(f)
_io.BufferedReader
>>> df = gpd.read_file(f)