首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLite还是纯文本文件?

SQLite还是纯文本文件?
EN

Stack Overflow用户
提问于 2010-03-06 17:30:49
回答 2查看 3.3K关注 0票数 8

我处理很多在Python、R和Matlab之间交换的文本/数据。

我的选择是纯文本文件,但偶尔也会使用SQLite来存储数据和访问每个程序(虽然还不是Matlab )。我在SQL中不像在R中使用GROUPBY、AVG等操作那么多,所以我不一定需要数据库操作。

对于这类需要在程序之间交换数据以利用每种语言的可用库的应用程序,有没有一个好的经验法则来决定使用哪种数据交换格式/方法(即使是XML、NetCDF或HDF5)?

我知道在Python -> R之间有rpy或rpy2,但我想知道在更一般的意义上这个问题-我使用许多都没有rpy2的计算机,也使用其他一些在不同时间需要访问数据的科学分析软件(处理和分析的阶段也是分开的)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-06 17:35:33

如果所有的语言都支持SQLite,那就使用它。SQL的强大功能现在可能对您没有用处,但它可能会在某个时候对您有用,并且当您决定能够以更复杂的方式查询数据时,它使您不必重写代码。

如果您只想访问数据存储中的某些数据,那么SQLite的速度可能会快得多--因为在不读取整个文件的情况下,对纯文本文件执行此操作是具有挑战性的(尽管这并非不可能)。

票数 15
EN

Stack Overflow用户

发布于 2010-03-06 18:19:04

纯文本文件(例如csv格式)将是最便携的解决方案。几乎每个程序/库都可以使用这种格式:R和Python都有很好的csv支持,如果您的数据集不是太大,您甚至可以将csv导入Excel以完成较小的任务。

但是,对于较大的数据集,文本文件并不方便,因为几乎所有操作都需要完整地读取文本文件(取决于数据的结构)。

SQLite允许您非常容易地过滤数据(即使没有太多的SQL专业知识),并且正如您已经提到的那样,它可以自己进行一些计算(AVG,SUM,...)。使用Firefox插件SQLiteManager,您可以在每台计算机上使用DB,而不会遇到任何安装/配置问题,因此可以轻松地管理数据(导入/导出,过滤)。

因此,我建议对需要进行大量过滤以提取所需数据的较大数据集使用SQLite。对于较小的数据集,或者如果不需要选择数据的子集,平面(csv)文本文件就可以了。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2392017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档