【问题标题】:Write Pandas Dataframe to DBF File?将 Pandas 数据框写入 DBF 文件?
【发布时间】:2017-07-03 20:30:51
【问题描述】:

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

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

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

【问题讨论】:

  • 使用这个:dbfpy.sourceforge.net 或将数据帧转换为 csv,然后将 csv 转换为 dbf。
  • 你也可以使用this替代df2dbf
  • 什么是 dbf 文件?它像 xarray 使用的 .nc 文件吗?
  • @O.rka DBF 格式是一种在 80 年代和 90 年代流行的旧数据库格式。它也是用于存储地理数据的 shapefile 格式的一部分,这种格式在今天仍然很流行。

标签: python pandas shapefile dbf


【解决方案1】:

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

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

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

gf.to_file('export.shp')

太棒了!

【讨论】:

    【解决方案2】:

    您应该考虑使用rpy2 将您的数据框转换为R 对象,然后运行如下代码:

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

    希望可以无缝运行!

    【讨论】:

    • 有趣!我去看看
    • 不幸的是最后一行不起作用它导致错误“AttributeError:'DocumentedSTFunction'对象没有属性'dbf'”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    • 2017-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多