Получить CSV в массив, используя jquery-CSV - PullRequest
1 голос
/ 19 марта 2019

Я пытаюсь получить данные из следующего CSV, который находится в моей локальной папке как bids.csv:

1, 3000
4, 2500
15, 2000

в массив.Я использую библиотеку jquery-csv, но безуспешно.

Вот весь мой код:

<html><head>
  <script type="text/JavaScript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" ></script>
  <script src="jquery-csv.js"></script>
</head>
<body>
  <script type="text/javascript">
  data = $.csv.toArray('bids.csv');
  console.log(data)
  </script>
</body></html>

Когда я захожу на консоль JS в chrome, в консоли действительно есть массив, но, похоже, у меня нет данных, которыми я былищем вместо огромное количество болтовни .Я могу только предположить, что это массив по умолчанию, который выводит jquery-csv и по какой-то причине он не читает мой csv.

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

Я вижу, что вы добавили имя файла в массив.Вам нужно прочитать файл с помощью FileReader, а затем использовать функцию toArrays ().

Вы можете увидеть пример здесь

0 голосов
/ 19 марта 2019

Эта проблема возникает из-за того, что сначала нужно извлечь файл CSV, а затем только передать его в плагин jQuery-csv.

Согласно документации к плагину :

$. Csv.toArray (csv);

[...]

csv (обязательно) Преобразование данных CSV.

Код, указанный в вашем вопросе, считает bids.csv данными CSV.

Предполагается, что файл доступен с сервера (работает localhost):

Один из способов получения CSVданные предназначены для отправки запроса Ajax GET, для этого в jQuery есть встроенная функция: jQuery.get .

. Тогда решение будет:

<html><head>
  <script type="text/JavaScript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" ></script>
  <script src="jquery-csv.js"></script>
</head>
<body>
  <script type="text/javascript">
  // sent a GET request to retrieve the CSV file contents
  $.get( "bids.csv", function( CSVdata) {
     // CSVdata is populated with the file contents
     / ready to be converted into an Array
      data = $.csv.toArray(CSVdata);
      console.log(data)
  });
  </script>
</body></html>

Читателю оставлено упражнение для управления ошибками, которые могут возникнуть как во время извлечения файла, так и во время преобразования.

Если вы не хотите иметь довольно тяжелую библиотеку jQuery, другие библиотеки вы можетехочу посмотреть:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...