我將一系列事件存儲到一個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