我将一系列事件存储到一个CSV文件中,每个事件类型附带一个不同的数据集。什么时候可以CSV记录*不*具有相同数量的字段?
为了说明,说我有两个事件(会有更多):
- 运行,具有含速度和倾斜的数据集。
- 睡眠,其具有包含打鼾的数据集。
有存储在CSV记录该数据的两个选项:
选项A
存储在自己的领域数据的每一个可能的项目...
speed, incline, snores
因此...
15mph, 20%, ,
, , 12
16mph, 20%, ,
14mph, 20%, ,
选项B
存储在自己的记录中的每个事件......
event, value1...
因此...
running, 15mph, 20%
sleeping, 12
running, 16mph, 20%
running, 14mph, 20%
没有一个具体的CSV规范的consensus似乎是:
每条记录“应该”包含相同数量的逗号分隔字段。
语境
- 有一些每个具有大&不同组数据值的事件。
- CSV数据将被其他开发者使用(我将/可能/应该/不会使用任何结构)。
- '其他开发人员'要走向新手端和/或使用资源有限的系统。 CSV是可访问的。
- CSV格式作为功能不被要求提供。尽管如果所述应用程序正在提供CSV文件,则应从现在开始以正确的方式提供它。
问题
难道是有效的 - 在这种情况下 - 一起去选择B?
思想
选项B维持人类可读性,这是一个优势的水平说CSV是由人类不处理器读取。使用自定义分析器解析这两种方法都不是更复杂,但是选项B将使CSV格式与其他库,框架,应用程序等无用。使用选项对个别事件的数据集的未来更改/版本可能会破坏CSV结构(僵尸, ,
以保持转发兼容性);而选项B将优雅地失败。
编辑
这可能是针对学生和框架一样了openFrameworks,Plask,等待处理等。其中CSV 是更容易实现。
这取决于谁以及以后如何解析它。 – Andrey 2012-03-12 23:26:17
@Andrey,请参阅上下文作为用例。 – Ross 2012-03-12 23:30:39
@JayRiggs 1也是错字。 – Ross 2012-03-12 23:31:11