gpt4 book ai didi

javascript - meteor 读数 csv 文件 Papa Parse

转载 作者:行者123 更新时间:2023-11-30 15:51:31 29 4
gpt4 key购买 nike

伙计们,我是 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/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com