![如何将 Excel 表转换为 JSON 数组?](https://linux22.com/image/1561507/%E5%A6%82%E4%BD%95%E5%B0%86%20Excel%20%E8%A1%A8%E8%BD%AC%E6%8D%A2%E4%B8%BA%20JSON%20%E6%95%B0%E7%BB%84%EF%BC%9F.png)
我需要在数组中输入大量数据,其形式如下:
[
[data1,data2,data3,...,data9],
[data1,data2,data3,...,data9],
[data1,data2,data3,...,data9],
...
]
目前,直接以 JSON 格式输入数据是一个耗时的过程,而且往往会出现很多错误。或者,我想将数据输入到 Excel 表中并从表中生成 JSON 数组。我该怎么做?
答案1
由于这是一个您只需执行一次或几次的操作,因此这里有一个零工作量解决方案,使用网站 数据转换器先生,显然是由 Shan Carter 创建的。
以下是我转换这个包含 679 个重复行的虚拟样本电子表格的方法:
- Ctrl使用+选择整个数据A
- Ctrl使用+复制到剪贴板C
- 打开网站数据转换器先生
- Ctrl单击上方的文本区域并使用+粘贴数据V
- 选择输出为“JSON - 行数组”
- 下方文本区域的结果将如下所示:
- 点击下方的文本区域即可选中
- 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();
csvarray
csv 的每一行将包含一个数组,其中包含以逗号分隔的数据。