我有一个非常简单的数组,我想导出到CSV:
var uniqueCounties = ["555","123","345"];
我尝试过使用在线发现的方法,但我遇到了各种错误,所有在线方法都处理嵌套数组。
目前我的功能是转换为字符串。我希望它能简化这个过程,但我现在仍然确定如何进步:
function download_csv() {
var csv = uniqueCounties.toString();
console.log(csv);
}
我最初尝试这种方法:
uniqueCounties.forEach(function(infoArray, index){
dataString = infoArray.join(",");
csvContent += index < data.length ? dataString+ "\n" : dataString;
});
但不断收到错误infoArray.join is not a function
。
答案 0 :(得分:1)
如果您有一个二维数组的字符串(或任何您可以使用toString
- ing),例如:
const input = [
["555","123","345"],
[1, 2, 3],
[true, false, "foo"]
]
然后你可以这样做:
function toCsv(input) {
return input.map(row => row.join(',')).join('\n')
}
const csvString = toCsv(input)
导致此字符串:
555,123,345
1,2,3
true,false,foo
如果您只想将单个1d数组转换为csv,就像示例那样:
const uniqueCounties = ["555","123","345"]
// If you want each value as a column
const csvAsSingleRow = uniqueCounties.join(',')
// If you want each value as a row
const csvAsSingleColumn = uniqueCounties.join('\n')
如果您想要包含转义等,这会变得越来越复杂......在这种情况下,我建议您寻找能够做到这一点的库。
答案 1 :(得分:1)
此post与您的问题相同。 它有一个已接受的答案,其中包含允许下载CSV的JS代码。
希望这有帮助。
Export javascript data to CSV file without server interaction