如何在Python中将GeoDataFrame保存到磁盘?

问题描述 投票:0回答:1

我有一个名为merged的GeoDataFrame,我很难将其保存到磁盘。通过以下循环获得merged

import pandas as pd
import geopandas as gpd
import osmnx as ox

city=gpd.read_file('C:/folder/city.json')
circ=[]

for i in (0, 1):
    graph = ox.graph_from_polygon(city.geometry[i])
    stat = ox.basic_stats(graph)
    circ.append(stat['circuity_avg'])

circ=pd.Series(circ)
merged=pd.concat([city, circ], axis=1)

我只是想将merged保存为文件,作为json文件或其他保留几何图形的格式,以便随后可以使用R中的数据。这是我尝试过的方法:

1。

merged.to_file('merged.json', driver='GeoJSON')

给出

[属性错误'int'对象没有属性'encode'

有人知道为什么merged是一个GeoDataFrame时为什么将它type(merged)归类为'int'吗?[>

2。

with open('x.geojson', 'w') as f:
        f.write(merged_short.to_json())

这会在我的Jupyter Lab环境中创建一个x.geojson文件,但不会将其保存到磁盘。这是可以理解的,因为我没有指定保存路径。但是,我不知道如何添加路径。

3。

merged.to_csv("C:/folder/merged.cs")

这有效,但是由于数据另存为csv,因此不会保留几何图形。

4。

merged.to_json("C:/folder/merged.cs")

但是得到ValueError: Unknown na method

我很惊讶,我还没有找到一种简单的方法来将GeoDataFrames保存到计算机上的文件中。有没有保存GeoDataFrames的简单方法?

解决方案
with open('C:/folder/merged.json', 'w') as f:
        f.write(merged_short.to_json())

意思是我只需要指定完整路径。

我有一个称为merged的GeoDataFrame,我很难将其保存到磁盘。合并是通过此循环获得的:将大熊猫作为pd导入将大熊猫作为gpd导入osmnx作为ox city = gpd ....

python json pandas save geopandas
1个回答
1
投票

您的版本2将保存文件,但是会保存到相对位置。尝试提供绝对路径:

© www.soinside.com 2019 - 2024. All rights reserved.