首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >以.csv格式存储文件的一些“主流”轻量级替代方案是什么?

以.csv格式存储文件的一些“主流”轻量级替代方案是什么?
EN

Stack Overflow用户
提问于 2011-04-20 03:36:12
回答 5查看 13.7K关注 0票数 14

我所在的项目非常倾向于使用.csv文件来存储数据。我发现使用.csv有很多问题,特别是在存储关系数据时。解析.csv通常是一个pain,特别是在使用即席列赋值时。

我提倡使用XML和最小的数据库,比如SQLite,但我正在寻找“更快、更好、更便宜”的替代方案。

.csv文件的其他一些“主流”轻量级替代方案是什么?

另外,CouchDB是怎么回事?在轻量级方面,它与SQLite相比如何?

编辑:我错过了。这个问题已经被问到了before

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-04-20 03:47:19

我认为CSV文件没有直接的替代品。CSV是一种面向索引的平面文件格式。将逗号替换为竖线或诸如此类都无关紧要。这是相同的事情,只是规则略有不同。

话虽如此,当数据在我的控制之下时,我经常选择SQLite。

使用SQLite总是借助于使用相同的工具,可以用作即席存储或关系模型,有“升级”计划到“独立”的关系型数据库管理系统,提供DQL“免费”(这对我来说是一个很大的优势),等等。除非空间是一个真正的问题,或者不支持数据访问,为什么不呢?(现代火狐也使用SQLite)。

(有许多对象数据库,比如DB4O --甚至更简单的键/值分层存储等。不用说,SQLite是在微型/嵌入式数据库中获取关系的唯一方法。)

比方说,XML的一个缺点是需要特殊的工具(sqlite/适配器)。XML虽然不是最友好的格式,但可以在记事本中很好地进行编辑。此外,除了标记/数据本身之外,XML中没有额外的开销(碎片或结构),并且XML通常非常适合压缩。还有许多库可以将整个对象图映射到XML (从而维护关系),因此这可能是一个很好的特性。

还有其他格式,比如JSON --但是如果这种格式是不透明的,那么它与XML的区别就不大了(更多的是工具支持的问题)。

所以..。“视情况而定”。

票数 7
EN

Stack Overflow用户

发布于 2011-04-20 05:22:40

与XML等格式相比,YAML看起来相对较小,但比JSON (它是一个超集)稍微更具描述性。这是另一个我会考虑的候选人。

票数 4
EN

Stack Overflow用户

发布于 2011-04-20 03:58:20

这一切都是关于用例的。

我的经验法则是:如果两段数据之间存在依赖关系或关系,则使用SQLite;如果只是平面数据文件,则使用CSV (或其他“平面”格式)。最简单有效的方法通常也是最可靠的解决方案。

(注意:确保CSV格式正确。没有人喜欢绕过糟糕的CSV实现。)

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

https://stackoverflow.com/questions/5721674

复制
相关文章

相似问题

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