YAML中的原始2D表(或其他序列化格式)

时间:2018-06-16 11:08:01

标签: yaml tabular

我认真考虑YAML作为我的C / C ++应用程序的数据序列化格式(因为我的第一个目标是数据文件尽可能可读,并且没有尽可能多的额外字符--ie:添加括号,逗号或任何其他具有特殊含义的字符应保持最低限度。)

YAML似乎是最符合我要求的格式(还可以通过锚点序列化对象的指针引用)。

但是,YAML似乎远离了我的目标:2D表。在我的一些应用程序中,我需要访问通常在PDF文档中发布的表格数据(请参见下图作为假设示例)。目前,我的应用程序通过自动理解ASCII原始2D表的自定义解析器来实现此目的(将其视为没有逗号的CSV:将空格视为逗号,将换行视为表中新行的开头)。这非常方便,因为我可以使用表格获取PDF,并在几分钟内将表格导入我的应用程序:将PDF转换为ASCII(例如,使用pdftools),并且可能只进行一点编辑。

但是,AFAIK,YAML无法自动理解(表格式)人类可读形式的2D表格:您需要先将其转换为(结构字段)人类可读形式。这破坏了我试图通过迁移到YAML所获得的大部分乐趣。

请注意,我的应用程序不仅适用于表格,因此YAML非常适合除2D表格之外的所有内容。

你知道YAML解析器能够理解原始2D表的任何(也许是非平凡的)方法吗?或者您知道任何其他接受原始2D表的序列化格式吗?

我曾经使用的那种假设表的示例图像如下(您可以忽略它已将单元格合并为列标题的事实 - 我没有合并的单元格,没有合并的单元格,事实上,我当前的解析器并不支持它们,我只是将它们编辑出来 - 如果它们存在 - 在将数据输入我的应用程序之前)。

enter image description here

0 个答案:

没有答案