3

场景:我正在开发一个 Rails 应用程序,它将以上传的基于文本的文件的形式输入数据。我需要在导入数据之前解析这些文件。我可以选择上传到应用程序的文件类型;上传者使用的软件(Microsoft Access)有几个关于文件类型的导出选项。

虽然它可能微不足道,但我想知道是否存在最有效解析的特定文件类型。我相信这个问题可以被视为与语言无关。

(虽然 XML 通常被解析,但对于这个项目来说,它不是一种可行的文件类型。)

4

4 回答 4

2

您可能想看看JSON。它是一种轻量级格式,与 XML 相比,它非常易于解析且无需后端庞大的库。

它可以表示字符串、数字、关联数组(对象)和此类列表等类型

于 2010-05-06T21:46:59.870 回答
2

如果是 Access 导出的内容,最简单的是 CSV;特别是因为 Ruby 在标准库中包含一个 CSV 解析器。您将不得不做一些工作来确定 CSV 的方言(它用于分隔符,它如何处理引号);我不知道 ruby​​ 解析器对这些问题有多强大,但您也应该从 Microsoft Access 获得一些控制。

于 2010-05-06T22:03:37.713 回答
0

对于不包含n的数据,我建议使用 n-SV (其中n是某个字符)。这将使文件的词法分析成为一个.split

如果您有更灵活的数据,我建议您使用 JSON。

于 2010-05-06T21:48:42.850 回答
0

如果您必须推出自己的解析器,我建议您使用 CSV 或某种形式的分隔符分隔格式。

如果您能够使用其他库,则有很多选择。JSON 看起来非常迷人。

于 2010-05-06T21:53:09.843 回答