首页 > 解决方案 > 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);
  });
}

标签: javascriptcsv

解决方案


我使用此代码将 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>


推荐阅读