2

我正在尝试从本地文件夹中的以下 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>

当我在 chrome 中访问 JS 控制台时,控制台中确实有一个数组,但它似乎没有我要查找的数据,而是大量的 guff。我只能假设这是 jquery-csv 输出的默认数组,并且由于某种原因它没有读取我的 csv。

4

2 回答 2

1

发生此问题是因为您首先需要检索 CSV 文件,然后仅将其传递给jQuery-csv插件。

根据插件文档

$.csv.toArray( csv);

[...]

csv(必需)要转换的 csv 数据。

您的问题中共享的代码被认为bids.csv是 CSV 数据。

假设文件可以从服务器访问(本地主机有效):

检索 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 库,您可能想要查看的其他库是:

于 2019-03-19T15:34:28.680 回答
0

我可以看到您将文件名添加到数组中。您需要使用 FileReader 读取文件,然后使用 toArrays() 函数。

您可以在此处查看示例

于 2019-03-19T15:40:07.647 回答