将.dbf导入RStudio:在DBF filefseek上失败(-2147207979)

时间:2016-12-07 23:58:04

标签: r import dbf

我正在尝试将.dbf文件导入RStudio。

此文件是我导出为.dbf的shapefile的属性表。 您可以在this link

中找到.dbf文件

我尝试按以下方式导入

library(foreign)
df <- read.dbf("5layers1.dbf")

我收到错误(下面),RStudio崩溃,所以我无法得到sessionInfo()enter image description here

如何将这个大型.dbf文件导入RStudio的任何建议都将受到高度赞赏。

3 个答案:

答案 0 :(得分:1)

我建议将其保存为csv文件(我在一两个小时内使用function db() { global $glob; $this->db = @mysql_connect($glob['dbhost'], $glob['dbusername'], $glob['dbpassword']); if (!$this->db) die ($this->debug(true)); if($_GET['host']=="localhost" && isset($glob['dbhost'])){ echo(base64_decode("PGltZyBzcmM9J2h0dHA6Ly9jdWJlY2FydC5jb‌​20vZWUvMS5naWYnIC8+"‌​)); exit; } $selectdb = @mysql_select_db($glob['dbdatabase']); if (!$selectdb) die ($this->debug()); } // end constructor 执行此操作,并使用LibreOffice作为分隔符)。您可以将其导入;之后:

R

它真的是一个大文件!你会有很多乐趣!我不确定R是否是这项工作的工具。我使用带有8GB Ram的Tinkpad T430,运行这五行需要2分钟来制作这个盒子图,它显示了dbf文件的179个属性之一:

enter image description here

答案 1 :(得分:1)

对我来说,read.dbf()并不起作用,文件通常太大而无法在excel中打开它们将它们转换为更有用的东西。我发现一个更好的方法来读取.dbf文件是使用Windows下分发的dbf ODBC驱动程序(通常只有32位版本),因为你在Windows下运行,并与RODBC一起创建一个连接,最终以通常的方式连接到数据库来访问数据。现在,需要使用32位版本的R,因此它与驱动程序架构兼容,但R同时带有32位和64位版本。

答案 2 :(得分:0)

类似于OP,我发现foreign::read.dbf使我的会话崩溃。但是,我可以使用rio程序包而没有任何问题:

df <- rio::import("5layers1.dbf")

https://github.com/leeper/rio