如何将 Excel 表转换为 JSON 数组?

如何将 Excel 表转换为 JSON 数组?

我需要在数组中输入大量数据,其形式如下:

[
  [data1,data2,data3,...,data9],
  [data1,data2,data3,...,data9],
  [data1,data2,data3,...,data9],
  ...
]

目前,直接以 JSON 格式输入数据是一个耗时的过程,而且往往会出现很多错误。或者,我想将数据输入到 Excel 表中并从表中生成 JSON 数组。我该怎么做?

答案1

由于这是一个您只需执行一次或几次的操作,因此这里有一个零工作量解决方案,使用网站 数据转换器先生,显然是由 Shan Carter 创建的。

以下是我转换这个包含 679 个重复行的虚拟样本电子表格的方法:

电子表格

  1. Ctrl使用+选择整个数据A
  2. Ctrl使用+复制到剪贴板C
  3. 打开网站数据转换器先生
  4. Ctrl单击上方的文本区域并使用+粘贴数据V
  5. 选择输出为“JSON - 行数组”
  6. 下方文本区域的结果将如下所示:

在此处输入图片描述

  1. 点击下方的文本区域即可选中
  2. Ctrl使用+复制到剪贴板C

您现在可以将数据粘贴到任何位置并在其周围添加 JavaScript 数组的声明。

未来注意事项:如果 Mr. Data Converter 网站从互联网上消失,可以在 回溯机器

答案2

我相信你可以使用帕帕·帕斯,这是一个用于解析.csv 文件的 JavaScript 工具。

首先,将所有数据输入 Excel,然后将文件保存为 .csv

接下来使用 NPM 安装 Papa Parse:

$ npm install papaparse

将 .csv 导入到 JS:

var file = '/path/to/your.csv';

var content = fs.readFileSync(file, "utf8");

然后使用此代码将 .csv 解析为数组:

var Papa = require('papaparse');

Papa.parse(content, {
    header: false,
    delimiter: "\t",
    complete: function(results) {
    rows = results.data;
    }
});

答案3

我用了数据转换器先生以及一段时间,但它缺少对引号、逗号换行符等的支持,最后一次更新是在 6 年前。

我认为一个相当不错的选择是convertcsv.com 它具有很棒的功能(尤其是考虑到线路制动,如果您可以通过复制和粘贴轻松地从 XLS 中获取数据)。

根据他们的隐私政策记录:

我们不收集通过我们的转换服务输入或输出的数据。

答案4

,假设纯文本文件中有分隔符.csv,您可以简单地执行以下操作:

var csvarray = [];
var client = new XMLHttpRequest();
client.open('GET', '/mydata.csv');
client.onreadystatechange = function() {
    var rows = client.responseText.split('\n');
    for(var i = 0; i < rows.length; i++){
        csvarray.push(rows[i].split(','));
    }
}
client.send();

csvarraycsv 的每一行将包含一个数组,其中包含以逗号分隔的数据。

相关内容