将字符串或数组导出为CSV

时间:2017-03-30 16:39:17

标签: javascript arrays csv

我有一个非常简单的数组,我想导出到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

2 个答案:

答案 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