将dBase/Padox数据读入R



我继承了大约一百个数据库文件,目前正在使用"Paradox dBase Access Reader"读取这些文件,并手动导出到管道分隔的文本文件。我很想用某种访问库来做这件事,它可以让我直接将这些文件读取到R.中

阅读器工具声明这些文件是"Paradox 5.0 for Windows",并且它们的扩展名为.db

我希望我可以使用外部包来阅读它们,因为它在文档中为read.dbf()函数声明:

DBF是为"XBASE"系列编写的文件所使用的扩展数据库语言,涵盖dBase、Clipper、FoxPro及其Windows等价物Visual dBase、Visual Objects和Visual FoxPro,加上一些旧产品的

不幸的是,它在DBFOpen C函数中失败,大约在第425行:

if( fread( pabyBuf, nHeadLen-32, 1, psDBF->fp ) != 1 )
{
  fclose( psDBF->fp );
  free( pabyBuf );
  free( psDBF );
  return NULL;
}

有人有其他解决方案,或者了解read.dbf()在这里是好匹配还是坏匹配吗?

在rseek.org上搜索"paradox db"会得到gnumeric包,该包表示它可以读取paradox文件。我没有任何方法来测试该功能,但它可能会工作。。。

该列表没有明确提到Paradox 5.0,您使用read.dbf读取它的努力失败了。如果文件是静态的,即不再更改,我只需要创建一个脚本来导出它们一次,将它们读取到R中,并使用save转储结果。这样,您就可以使用load将数据读取到R。

如果数据不太大,这将是一个快速的过程,允许您轻松读取所有数据并提取任何您喜欢的子集。如果它很大,您可以投入一些时间将文件转储到更现代的数据库中,例如sqlite(尽管这不是一个完整的数据库,但它很好,而且很轻)。如果不是绝对必要的话,我不会花太多时间从R直接访问这些古老的文件。。。

相关内容

  • 没有找到相关文章

最新更新