【问题标题】:creating csv from multiple arrays with Javascript使用 Javascript 从多个数组创建 csv
【发布时间】:2022-10-15 03:17:49
【问题描述】:

目前我正在使用 javascript 获取单个数组并输出到 CSV:

var token_array = [112, 364, 236, 234]
var csv = "";

for (let row of token_array) {
  for (let col of row) { 
    csv += col
  }

  csv += "\r\n";
}

var myBlob = new Blob([csv], { type: "text/csv" });

所以,这行得通,CSV的输出是:

112
364
236
234

但是,如果我有多个要输出到 CSV 的数组,每个数组都是它们自己的列,该怎么办?例如:

var token_array = [112, 364, 236, 234]
var first_name = [Tim, Kim, Tom, Amy]
var last_name = [Berson, Law, Stalle, Erwin]
var DOB = [11091986, 08061976, 02031967, 12121980]
var sex = [M, M, M, 234]

预期的 CSV 输出:

112    Tim    Berson    11091986    M
364    Kim    Law       08061976    M
236    Tom    Stalle    02031967    M
234    Amy    Erwin     12121980    F

我想知道我需要如何修改代码中的 for 循环才能产生这个结果。

【问题讨论】:

  • 我会使用一个普通的for 循环,因为我需要索引。也就是说,任何时候发生这种情况都表明缺少对象/抽象。不过,我对当前代码的内部循环有点困惑。
  • 有没有更好的方法来编写这段代码?
  • “更好”在什么意义上?我会(a)创建一个封装对象(而不是“并行”数组)和(b)使用 CSV 库,因为 CSV 很烦人。
  • 你有一个可以指点我的工作例子吗?提前致谢
  • 请参阅Javascript equivalent of Python's zip function 并使用javascript 标签查询serialize to csv 之类的内容。

标签: javascript csv for-loop


【解决方案1】:

这是你想要的 :

let csv = '';
for(var index in token_array){
    csv += `${token_array[index]}	${first_name[index]}	${last_name[index]}	${DOB[index]}	${sex[index]}
`
}

【讨论】:

    猜你喜欢
    • 2017-01-20
    • 1970-01-01
    • 2015-04-04
    • 2021-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多