在 HTML 页面中显示来自 CSV 文件的大量数据的方法?

Posted

技术标签:

【中文标题】在 HTML 页面中显示来自 CSV 文件的大量数据的方法?【英文标题】:Ways to display large amount of data from CSV files in HTML pages? 【发布时间】:2015-02-02 21:52:45 【问题描述】:

伙计们。 我需要开发一些在工作中使用的东西,但我有一些疑问,所以我希望有人可以帮助我:)

情况: 我在一家公司的信息安全领域工作。我们使用 QualysGuard 工具来搜索客户服务器中的漏洞。我的职能之一是管理关键绩效指标 (KPI),以跟踪我们在几周内应用了多少补丁。我以 CSV 格式下载数据,然后在 Excel 中制作了很多东西来组织所有内容,按客户名称、操作系统和漏洞严重性排序。

问题: 下载的 CSV 文件中有大量数据(每个文件有 35MB 和 80000 多行),我必须做很多重复的工作才能最终使这些文件看起来很好(创建数据透视表,按资产排序,操作系统和严重性,不同数据量的不同组(例如,一些客户拥有 100 多台服务器,这意味着他们的服务器中的漏洞比只有 2 台服务器的客户要多得多。我每周都必须这样做. 在月底,我必须为每个客户和每个操作系统列出前 10 个最易受攻击的服务器。并且还要绘制这些数据。

我需要什么: 我的老板问我是否可以创建一个系统(最好是基于 Web 的)来读取这些 CSV 文件并显示它们的数据,也许还可以用它们绘制一些图表。

问题: 最好的方法是什么?我想到了使用 php,我在解析 CSV 文件数据和使用它们方面有一些经验,但是,由于 PHP 是一种服务器端语言,我认为我将无法动态显示数据。 所以我想知道在这种情况下哪种编程语言是最好的? javascript会处理它吗?或者使用 python 或 ruby​​ 的东西?或者也许是一些带有 Java 的网络应用程序?甚至 PHP,如果与 mysql 查询结合使用? (我不确定是否可以使用公司的数据库,所以,MySQL 解决方案不是我的首选 XD) 有没有人遇到过这样的问题? 我不是要任何人给我写程序,我只是需要一些提示。 感谢所有回答问题的人:) 如果没有答案,感谢您至少阅读:)

【问题讨论】:

坏主意。不要处理 csv 文件,至少不要重复。将它们加载到数据库中并从中工作。这样你就可以一次解析它们,然后可以在数据库中尽可能多地对数据进行切片/切块。将它们保留为 csv 格式会非常低效和浪费。 【参考方案1】:

乍一看,语言并不重要。您必须将其加载到服务器进行处理,因为您无法从 JavaScript 访问本地文件。

我的建议是(如果您真的需要处理 CSV 文件)是加载文件,从数据中生成 JSON 对象,然后使用 JavaScript 从客户端使用 JSON 对象。

根据文件的大小,您可能需要对数据进行分页,这样您就不需要下载整个数据。但最好先加载到 DB 上,然后根据需要使用 AJAX 加载数据,甚至使用一些客户端组件进行绘制。

【讨论】:

谢谢!我的老板让我使用了一个 mysql 数据库,我把所有的数据都放在里面了,一切都很顺利:)【参考方案2】:

如果你需要动态的东西,你可以使用 php 和 ajax。 将 CSV 转换为 json/XML 并解析以获取您的内容,或者您​​可以使用 fgetcsv() 函数从文件指针获取行并解析 CSV 字段。 fgetcsv() 函数返回一个包含读取字段的数组。

【讨论】:

以上是关于在 HTML 页面中显示来自 CSV 文件的大量数据的方法?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 HTML 页面中显示来自单独 PHP 文件的结果?

来自大型无序 csv 文件的 dask set_index

如何读取带有大量逗号的变量“评论”的 CSV?

如何附加来自多个 csv 文件的值?

MySQL 如何批量导入含有大量html的Csv,csv是一个产品表,包含1000条产品,每

SQL 命令在到达大型 csv 文件末尾之前终止