场景:我正在开发一个 Rails 应用程序,它将以上传的基于文本的文件的形式输入数据。我需要在导入数据之前解析这些文件。我可以选择上传到应用程序的文件类型;上传者使用的软件(Microsoft Access)有几个关于文件类型的导出选项。
虽然它可能微不足道,但我想知道是否存在最有效解析的特定文件类型。我相信这个问题可以被视为与语言无关。
(虽然 XML 通常被解析,但对于这个项目来说,它不是一种可行的文件类型。)
场景:我正在开发一个 Rails 应用程序,它将以上传的基于文本的文件的形式输入数据。我需要在导入数据之前解析这些文件。我可以选择上传到应用程序的文件类型;上传者使用的软件(Microsoft Access)有几个关于文件类型的导出选项。
虽然它可能微不足道,但我想知道是否存在最有效解析的特定文件类型。我相信这个问题可以被视为与语言无关。
(虽然 XML 通常被解析,但对于这个项目来说,它不是一种可行的文件类型。)
您可能想看看JSON。它是一种轻量级格式,与 XML 相比,它非常易于解析且无需后端庞大的库。
它可以表示字符串、数字、关联数组(对象)和此类列表等类型
如果是 Access 导出的内容,最简单的是 CSV;特别是因为 Ruby 在标准库中包含一个 CSV 解析器。您将不得不做一些工作来确定 CSV 的方言(它用于分隔符,它如何处理引号);我不知道 ruby 解析器对这些问题有多强大,但您也应该从 Microsoft Access 获得一些控制。
对于不包含n的数据,我建议使用 n-SV (其中n是某个字符)。这将使文件的词法分析成为一个.split
如果您有更灵活的数据,我建议您使用 JSON。
如果您必须推出自己的解析器,我建议您使用 CSV 或某种形式的分隔符分隔格式。
如果您能够使用其他库,则有很多选择。JSON 看起来非常迷人。