Javascript 中的简单 CSV 解析

Simple CSV parsing in Javascript

这是我的问题:

我正在尝试解析 JavaScript 中的本地 CSV 文件。该文件如下所示:

Year,Promo,Surname,Name,Mail
2005/2006,0,XXXX,XXXXX,xxxxx.xxxxx@gmail.com
(...)
2006/2007,1,XXXX,XXXXX,xxxxx.xxxxx@gmail.com
(...)
2007/2008,2,XXXX,XXXXX,xxxxx.xxxxx@gmail.com
etc.

我尝试使用多个库(PapaParse.js、jquery-csv、d3.js...)对其进行解析,但是:

是否有解析 JavaScript 中的 CSV 文件以访问数据的简单解决方案?我在论坛上查找了数百个帖子,但无法正常工作。

非常感谢(打扰一下,我对 JS 很陌生)

汤姆.

这个答案是规范的,因为它解决了问题可能描述的任何人的问题。这些答案中只有第一个是针对 OP 的,尽管关于最后一条评论,我在底部添加的编辑部分也是专门针对 OP 的。

如果您正在为小型本地应用程序执行此操作,您可能可以执行以下两项操作之一:

  1. 在禁用 CORS 的情况下启动浏览器:

Chrome.exe --disable-web-security

在源代码中也有针对 firefox 的说明

src

  1. 运行 用于您的文件的微型服务器:

如果您安装了 Python(大多数 Mac 和 Linux 用户安装),您可以启动一个快速的本地 Web 服务器进行测试。使用命令提示符,导航到包含 HTML 文件和 运行 以下命令的目录:

python -m SimpleHTTPServer

您的文件现在应该可以从 http://localhost:8000/ 访问,并且在 file:/// 不可用时很有可能工作。

src

如果您 运行 遇到 python 服务器的 CORS 问题,更好的解决方案可能是 local-web-server 来自 nodehttps://www.npmjs.com/package/local-web-server

寻找此问题答案的典型用户可能正在使用节点:

'use strict';

var fs = require('fs');

var readFilePromise = function(file) {
  return new Promise(function(ok, notOk) {
    fs.readFile(file, function(err, data) {
        if (err) {
          notOk(err)
        } else {
          ok(data)
        }
    })
  })
}

readFilePromise('/etc/passwd').then(function(data) {
  // do something with the data...
})

编辑:为一个简单的应用程序设置它:

使服务器成为 rc.d 或任何地方的服务。按照这样的指南进行操作:https://blog.terminal.com/using-daemon-to-daemonize-your-programs/

不要使服务器成为活动的本地服务!相反,制作一个脚本来启动您的应用程序,并且仅从该脚本启动守护程序。在服务的初始化脚本中,每隔几分钟检查一次以查找应用程序的 PID 或其他内容,并在应用程序不再 运行ning 时自动关闭。