【问题标题】:Using an CSV file for an online html table将 CSV 文件用于在线 html 表
【发布时间】:2017-07-11 17:34:51
【问题描述】:

我有一个即将使用多种技术的项目,并且我正处于研究的开始阶段。我想如果我能听取其他人对我的问题制定策略的意见可能会更好。

问题:我有一个很大的 csv(包含 > 100,000 个条目)。我需要从这个 csv 文件创建一个在线 html 表。此表必须是可搜索和可排序的。

我提出了两种可能的解决方案:

1) 使用数据库

据我收集的信息,许多数据库都提供导入 csv 文件以创建可搜索数据表的功能。但是,我不知道如果我要使用标准 SQL 类型的数据库(例如 MySQL 或 PostgresSQL)或者我要使用像 MongoDB 这样的 NoSQL 类型的数据库会有什么不同。我更熟悉类似 NoSQL 的数据库,(显然,我不是技术专家;我只是对此类数据库有所了解),例如 MongoDB 或 RethinkDB(用于实时数据流)。

2) 将 csv 解析为 JSON

将 csv 解析为 JSON 将迫使我使用 JQuery 或其他东西来实现手动搜索和排序的代码。与使用数据库相比,该解决方案似乎天生就不是更好的解决方案。

这个问题的另一个方面是 csv 文件可能每天或每周都会被重写。我该如何处理这样的事情?我是否需要从数据库中的旧表中删除数据,然后重新创建一个包含新 csv 数据的新表?

请注意,我很可能会将 NodeJS 与与 Fullstack JavaScript 开发一起使用的其他库/API/框架一起使用。但是,我并不反对使用或听取其他语言/堆栈的解决方案。

另外,我认为我的问题取决于 CSV 文件的复杂性(我还不知道)。

提前感谢您的帮助!非常感谢。

【问题讨论】:

    标签: node.js mongodb postgresql csv database


    【解决方案1】:

    如果它只是一个 CSV 和一个平面表。我不明白 SQL 或 noSQL 的重要性。

    对于CSV,如果记录包含唯一键或组合唯一键来识别单个记录,则保留最后导入到db的记录的唯一键的记录;如果只追加csv文件,对上次导入的以前的记录不做任何修改,每次导入时取文件的大小就足够了。

    使用这些信息快速查找最后导入记录的结尾并创建增量 csv。对于可以使用 COPY 之类的命令轻松导入数据库的附加记录,例如How to import CSV file data into a PostgreSQL table?

    我认为您可能感兴趣的 javascript 数据网格之一。 https://github.com/6pac/SlickGrid/wiki/Examples

    忘了说,csv 导入后,查询可以直接在 postgresql 中转成 json,例如: PostgreSQL return result set as JSON array?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-13
      • 1970-01-01
      • 1970-01-01
      • 2013-08-10
      • 1970-01-01
      相关资源
      最近更新 更多