javascript - JavaScript从csv文件中提取行
问题描述
请帮帮我,我有下面的代码,我需要从第 1 行第 2 行提取开始时间,并从最后一行 Col2 中提取结束时间。
谢谢
async function getData() {
let fileName = document.getElementById("myFile").files[0].name;
alert('The file "' + fileName + '" has been selected.');
const response = await fetch("./csv/" + fileName); //fetch csv files from ./csv/folder
const data = await response.text(); // waiting for the filename to be fetched.
const table = data.split("\n").slice(1); // take out the headers
table.forEach((row) => {
const columns = row.split(","); //parse the comma separator
const test_date = columns[1]; //select date column
const test_time = columns[2]; //select time column
const date_time = test_date + test_time; //concatinate date and time column
xlabels.push(date_time); //join and display date and time in one column
const pressure = columns[3]; //select pressure column
yPressure.push(pressure); // display pressure column
const temp = columns[4]; //select temp column
yTemp.push(temp); // display temp column
console.log(test_date, test_time, pressure, temp);
});
}
解决方案
我使用此代码将 csv 中的项目打印为 HTML 中的输入。这有助于你获得你的价值观吗?你可以使用第二个js函数function createForm(csv)
来打印你想要的值。
document.getElementById("upload").addEventListener("change", upload, false);
var out = "";
function upload(e) {
document.getElementById('csvForm').innerHTML = "";
var data = null;
var file = e.target.files[0];
var reader = new FileReader();
reader.readAsText(file);
reader.onload = function(event) {
var csvData = event.target.result;
var parsedCSV = d3.csv.parseRows(csvData);
parsedCSV.forEach(function(d, i) {
if (i == 0) return true; // skip the header
if (d.constructor === Array) {
createForm(d);
}
});
}
}
function createForm(csv) {
out += '<input value="' + csv[0] + '">'; // first item in the csv
out += '<input value="' + csv[2] + '">'; // third item in the csv
document.getElementById('csvForm').innerHTML = out;
out += '<br>';
}
<script src="https://d3js.org/d3.v3.js"></script>
<input id="upload" type="file">
<form id="csvForm"></form>
推荐阅读
- javascript - 在函数参数中传递对象键名
- python - 使用 .loc 和 .isin 在列中查找值 - 错误,因为列表具有 int 和字符串
- position - CPoint定位SwiftUI
- laravel - 尝试转到其他页面时出现 Laravel-Vue-Pagination 错误
- ios - 计算器应用程序在 Mac 的 Appium Inspector 中启动 iOS 模拟器时无法打开
- c# - 如何在我的 asp.new Web 应用程序中配置路由
- android - Android:视频无法播放
- android-studio - res/ 和 resources/ 的区别
- java - Kotlin - 是否可以从高阶函数返回变量?
- vue.js - VueJS 将表单数据传递给子级并返回给父级的最佳实践