javascript - meteor 读数 csv 文件 Papa Parse

标签 javascript csv meteor

伙计们,我是 Meteor 的新手。对于我目前的应用程序,我正在使用 openlayer,因此对于 openlayer,我调用 Template.map.onRendered 事件,该事件将加载一个 map ,该 map 具有一个叠加层,该叠加层在 map 上显示标记,当我们单击该标记时,一个事件是生成并调用弹出窗口。现在弹出窗口中显示的数据目前是硬编码的,但我想从存储在服务器上的 .csv 文件中读取它。

我查看了在线编码员建议将 Papa Parse 与此代码一起使用。

Papa.parse("http://example.com/file.csv", {
    download: true,
    complete: function(results) {
        console.log(results);
    }
});

我的问题是:

  1. 但是,我不理解代码以及如何使用它来解决我的问题 问题。
  2. 而且这样做在浏览器方面是否安全 兼容性?
  3. 我应该将这个 .csv 文件保存在哪个文件夹中。在互联网上它说私有(private)文件夹。

抱歉,我无法使用 Jsfiddle 共享代码,因为它是私有(private)代码,我不能共享它。

最佳答案

PapaParse 主要用于客户端使用。它还有一个 Meteor 包装器,harrison:papa-parse ,因此您也可以尝试安装它:

meteor 添加 harrison:papa-parse

通过 URL 解析文件:

要通过 URL 在服务器端解析 CSV 文件,您可以尝试使用 Parse Remote File选项:

Papa.parse(url, {
    download: true,
    // rest of config ...
})

通过 CSV 字符串解析文件:

否则您可以将文件存储在/private 中文件夹,因为它是 Meteor 中保护文件安全的好选择。

然后您可以使用 Assets.getText() 访问文件 /private/file.csv将返回 UTF-8 编码字符串的方法。

您可以包含 PapaParse string functionAssets.getText() 回调中。之后,您可以将结果函数包装在 Meteor method 中。 ,您可以使用 Meteor.call() 从客户端调用它:

Meteor.methods({
    'parseFile'() {
        // read private asset as text
        Assets.getText('/private/file.csv', (error, result) => {
          if(error) {
            return console.log(error);
          }
          // 'result' should be a UTF-8 string, 
          // parse it using PapaParse string function
          return Papa.parse(result)
        });
    }
});

看看是否可行,阅读文档了解更多详情。

如果它不起作用,请检查您是否可以在服务器端读取源文件。通常,结果是相对路径错误。

备选方案:BabyParse

您也可以尝试使用名为 BabyParse 的 PapaParse Node.js 分支。 ,在 NPM 上可用。但是,它不能读取文件,只能读取字符串。因此,您首先必须通过 Assets.getText() 读取 CSV 文件并将其转换为 CSV 字符串。然后,您可以将 CSV 字符串输入 BabyParse 以获得结果。

关于javascript - meteor 读数 csv 文件 Papa Parse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39239998/

相关文章:

javascript - 如何在 react 表渲染后执行代码?

javascript - 我什么时候可以同步使用 Meteor.call?

javascript - 安装 axios 后出现“找不到模块”babel 错误

javascript - Django - 开发服务器不提供管理静态文件

javascript - 如何将图像放置在 Canvas 上?

python - 读取列标题中包含多个定界符的文件并在末尾跳过某些行

excel - 如何防止超过电子表格单元格字符限制的 CSV 数据溢出到相邻单元格?

javascript - x 秒或页面更改后再次隐藏警告消息

linux - 如何使用 linux 命令合并两个单列 csv 文件

javascript - 页面重新加载时,Meteor 上的 session 值会重置