Отображение строки или значения из CSV с использованием Javascript / AJAX - PullRequest
0 голосов
/ 19 октября 2018

Файл CSV выглядит следующим образом:

STATION, DATE, HLY-WIND-AVGSPD, HLY-WIND-VCTDIR
USW00013904,01-01T01: 00: 00,5,6,350
USW00013904,01-01T02: 00: 00,5,4,346
USW00013904,01-01T03: 00: 00,5,5,342
USW00013904,01-01T04: 00: 00,5,5,349
USW00013904,01-01T05: 00: 00,5.5,348

Я еще не очень хорошо знаком с Javascript.Я хочу, чтобы window.alert ниже отображал значение из CSV.Скрипт вытягивает CSV, и текстовая область отображает его.В настоящее время в предупреждении будет отображаться буква «S».Но я бы хотел, чтобы он отображал название «СТАНЦИЯ».Я также хотел бы знать, как отображать значения из других строк, так как при установке windValue.value [0,1] в предупреждении будет отображаться «USW00013904».

Может, я использую разделитель запятых и вытаскиваюзначения в зависимости от их местоположения с использованием каких-либо основных команд JavaScript?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>javascript-only file reading </title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body onload="doLoad('')">

<textarea cols="50" rows="40" id='windValue'></textarea>

<script type='text/javascript'>
// https://www.webdeveloper.com/forum/d/242887-read-server-csv-file-into-javascript-array/6
function el(tid)
{
  return document.getElementById(tid);
}

function IO(U, V) {//LA MOD String Version. A tiny ajax library by Dan Davis.
    var X = !window.XMLHttpRequest ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest();
    X.open(V ? 'PUT' : 'GET', U, false );
    X.setRequestHeader('Content-Type', 'csv')
    X.send(V ? V : '');
    return X.responseText;
}

function doLoad(){
  el("windValue").value = IO("data/austinairport.csv");
}

  window.alert(windValue.value[0]);
</script>
</body>
</html>

1 Ответ

0 голосов
/ 20 октября 2018

Я решил это.Вы можете выполнить поиск в выводе в виде массива, если используете следующий код:

window.alert(windValue.value.split(/\s+/)[1].split(",")[3]);

Приведенный выше код вернет результат: "350" в виде строки.

window.alert(parseInt(windValue.value.split(/\s+/)[1].split(",")[3]));

Приведенный выше код вернет результат: 350 в виде целого числа.

...