【问题标题】:How do I turn a flat file of data into a queryable data source如何将平面数据文件转换为可查询的数据源
【发布时间】:2011-03-27 21:58:05
【问题描述】:

我生成文件,我们称它们为 .dwrf 文件,其中包含大量数据。目前我们将这些导出到 .CSV 并且生成的文件很大 (2GB+)。我想取消导出过程,使 .dwrf 文件的内容可直接从 Excel 或其他应用程序查询。

我想做的是编写一个实用程序/服务 - 我们称之为 dwrfMiner - 从文件中提取数据并将其作为数据源传递并以某种方式将 dwrfMiner 链接到 .dwrf 文件,以便 Excel 将其识别为外部数据源。

有什么想法吗?

【问题讨论】:

  • 您想手动查询、编程查询还是两者都查询?
  • 两者。我想要一个可供 Excel 用户(首先)和其他进程使用的界面。
  • DWRF 文件的格式是什么?文件中的数据结构如何?
  • 大体平坦。一行/行是通过时间戳与其他数据区分开来的不同数据。有些行可能包含许多相似数据的集合/数组。

标签: c# windows excel datasource


【解决方案1】:

Excel 可以查询外部数据源,但请注意,Excel(所有版本)对每个工作簿可以显示的行数有硬性限制。我认为在 Excel 2003 中的限制是 ~65k。在其他版本中更高。

请参阅我的问题:reporting tool/viewer for large datasets(我的内存远小于 > 2GB)。

【讨论】:

  • Excel 2007 行限制为 1,048,576 行:在以前的版本中,限制为 65,536 行...每个工作表
【解决方案2】:

我过去使用PHP FlatFile DB 查询平面文件

【讨论】:

    【解决方案3】:

    我会退出 gcc 并为自己编写一个完整的 ODBC 驱动程序。然后您就可以坐下来使用 SQL。

    你知道,如果你觉得无聊。 ;)

    【讨论】:

      【解决方案4】:

      使用带多线程的 odbc 驱动程序

      【讨论】:

        【解决方案5】:

        虽然为此编写 ODBC 驱动程序可能有点矫枉过正,但如果您正在使用的文件格式是事先知道的并且翻译起来不太难(听起来好像没有考虑到您已经在创建 CSV),那么使用ODBC DSN 听起来是您的最佳选择。

        Windows 中已经内置了一系列不错的 ODBC 驱动程序(.txt、.csv、.mdb、.xl*、.dbf、Paradox .db 等),您可以从网上获取其他驱动程序以用于很多常见的格式。

        如果您要导出到的现有格式的大小过于繁琐 (CSV),那么开始的逻辑点是将您的数据转换为具有 ODBC 支持的更注重空间的格式。

        如果做不到这一点,您的最后一个选项是过度杀伤选项(编写 ODBC 驱动程序)。

        【讨论】:

        • (+1);更进一步,对于未来的软件设计,您 (dwarFish) 可能希望在定义输出格式之前考虑这些因素。
        猜你喜欢
        • 1970-01-01
        • 2021-01-10
        • 2011-05-26
        • 1970-01-01
        • 1970-01-01
        • 2019-10-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多