使用原生 JavaScript 处理本地 CSV 文件
Process a local CSV file with native JavaScript
我是新手。
我正在尝试建立一个关于金融的网站。
我在 python 中编写了一个 scrypt 以从 API 获取股票数据,创建了我自己的市场指数并将我的指数数据导出到 CSV 文件中。这很重要,因为我需要创建一个历史记录并观察它的演变(脚本将 运行 在 VM 中自动添加数据)。 现阶段没问题。
现在,我的目的是在 JS 脚本中读取和处理我的 CSV 文件 将数据存储到数组中(graphJS 使用数组来显示图形,这就是我的目的想用)。
我只找到了使用 HTML(用户在网站上导入 CSV,我不需要)或 JSQuery(我从未使用过)的解决方案
我正在寻找本机 JavaScript 解决方案。一开始,我只是想在 console.log() 中显示来自我的 CSV 的数据。并使用“for”循环,使用“.push”将数据迭代到数组中。但我会在控制台成功显示我的文件后执行此操作。
我的代码不起作用,有人可以帮助我吗?
const csvLocalFile = "file.csv";
const csv = csvLocalFile.files[0];
const reader = new FileReader();
reader.readAsText(csv);
TypeError: Cannot read properties of undefined (reading '0')
问题是您正试图从字符串类型的变量访问文件内容。
您的代码所做的是尝试引用此字符串中的元素,就像不存在的映射一样。给出错误。
同样在代码中,它只创建一个内容为 file.csv
的新变量,并不实际存储文件。
要实际获取 CSV 的内容:
var filecontent
//
var openFile = function(event) {
var input = event.target;
var reader = new FileReader();
reader.onload = function(){
var text = reader.result;
filecontent = text.replace("","")
};
reader.readAsText(input.files[0]);
};
在你的 HTML
<input type="file"onchange="openFile(event)">
您的 CSV 内容将存储在变量中 filecontent
编辑:非文件上传类型
let obj = await (await fetch('file.csv')).text();
这包含您的 CSV。
我是新手。
我正在尝试建立一个关于金融的网站。 我在 python 中编写了一个 scrypt 以从 API 获取股票数据,创建了我自己的市场指数并将我的指数数据导出到 CSV 文件中。这很重要,因为我需要创建一个历史记录并观察它的演变(脚本将 运行 在 VM 中自动添加数据)。 现阶段没问题。
现在,我的目的是在 JS 脚本中读取和处理我的 CSV 文件 将数据存储到数组中(graphJS 使用数组来显示图形,这就是我的目的想用)。
我只找到了使用 HTML(用户在网站上导入 CSV,我不需要)或 JSQuery(我从未使用过)的解决方案
我正在寻找本机 JavaScript 解决方案。一开始,我只是想在 console.log() 中显示来自我的 CSV 的数据。并使用“for”循环,使用“.push”将数据迭代到数组中。但我会在控制台成功显示我的文件后执行此操作。
我的代码不起作用,有人可以帮助我吗?
const csvLocalFile = "file.csv";
const csv = csvLocalFile.files[0];
const reader = new FileReader();
reader.readAsText(csv);
TypeError: Cannot read properties of undefined (reading '0')
问题是您正试图从字符串类型的变量访问文件内容。
您的代码所做的是尝试引用此字符串中的元素,就像不存在的映射一样。给出错误。
同样在代码中,它只创建一个内容为 file.csv
的新变量,并不实际存储文件。
要实际获取 CSV 的内容:
var filecontent
//
var openFile = function(event) {
var input = event.target;
var reader = new FileReader();
reader.onload = function(){
var text = reader.result;
filecontent = text.replace("","")
};
reader.readAsText(input.files[0]);
};
在你的 HTML
<input type="file"onchange="openFile(event)">
您的 CSV 内容将存储在变量中 filecontent
编辑:非文件上传类型
let obj = await (await fetch('file.csv')).text();
这包含您的 CSV。