如何将几个Google表格列转换为JSON字符串? 问题:解决方案:

问题描述

我正在处理一段代码,它将两列(A,B)转换为具有JSON格式的键/值对。我不知道如何使它工作。我目前有一个函数,可以读取值的最上面一行(键)和最下面一行,但是我无法获取它来显示间的行。我既不是工程师也不是开发人员,但是我喜欢编码。

工作表如下:

+-------+-------------+
| A     | B           |
+-------+-------------+
| code  | description |
+-------+-------------+
| brand | microsoft   |
+-------+-------------+
| size  | large       |
+-------+-------------+
| color | green       |
+-------+-------------+

我期望得到这样的JSON字符串:

[{"code":"brand","description":"microsoft"},{"code":"color","description":"green"},{"code":"size","description":"large"}]

到目前为止,我的Google Apps脚本代码如下:

function tableJSON(arr) {
  var i,j,obj = {};
  for (j = 0; j < arr[0].length; j++) {
    obj[arr[0][j]] = {};
  }
  
  for (i = 0; i < arr.length; i++) {
    for (j = 0; j < arr[0].length; j++) {
      obj[arr[0][j]] = arr[i][j];
    }
  }
  
  return JSON.stringify(obj);
}

输入

="[" & tableJSON(A1:B4) & "]"
时的结果是:
[{"code":"size","description":"large"}]

我确定解决方案很简单,但我一直无法弄清楚。

解决方法

问题:

该代码仅创建1个对象,并且每次迭代时都重写同一对象。

解决方案:

  • Shift二维数组以获取标头

  • Map到对象的数组

cnt
split_df <- function(y,df,ratio) {
  train <- sample.split(df[[y]],SplitRatio = ratio)
  list(training_Set = df[train,],test_Set = df[!train,])  
}
lapply(c("numberA","numberB","numberC"),split_df,Data_after,0.66)

,

https://github.com/jsoma/tabletop

我正在使用桌面将工作表转换为JSON,但是如果您有组织的Google帐户,那么它将无法使用更长的时间