将Pandas Dataframe写入DBF文件?

时间:2017-07-03 20:30:52

标签: python pandas shapefile dbf

我正在使用shapefile,它具有存储在DBF文件中的属性数据。我需要使用Pandas操作属性,并将新的DBF数据写回磁盘。

不幸的是,Pandas数据帧没有df.to_dbf方法(而R确实如此)。我一直在寻找,但似乎没有看到任何明显的方法来完成这项任务。

如何将pandas数据帧保存为DBF文件?

2 个答案:

答案 0 :(得分:1)

到目前为止,加载,操作和保存与shapefile关联的dbf文件的最简单方法是使用GeoPandas库。这可以将dbf加载为数据帧:

gf = gpd.read_file('some_shapefile.shp')

然后您可以使用标准的Pandas命令处理所有数据,并使用以下命令将数据导出回Shapefile(或其他地理文件)中:

gf.to_file('export.shp')

太棒了!

答案 1 :(得分:0)

您应该考虑使用rpy2将数据框转换为R对象,然后执行以下操作:

from rpy2.robjects import pandas2ri
pandas2ri.activate()
from rpy2.robjects.packages import importr
base = importr('base')
base.write.dbf(df)

我希望能无缝地工作!