Google apps script 如何通过应用程序脚本从谷歌工作表中插入2D数组进行大查询?
我在设置了模式的大查询中有一个空白表 我在Google工作表中有数据,列的顺序与表模式相同 当我从谷歌电子表格中获取数据时,我会得到一个2D数组[[xxx1,yyyy1,zzz1],[xxx2,yyyy2,zzz2]]等等 如何将数组内容插入到大查询表中 我想我需要使用以下代码-但是数据的格式是什么变量,如何将数组设置为该格式Google apps script 如何通过应用程序脚本从谷歌工作表中插入2D数组进行大查询?,google-apps-script,google-bigquery,Google Apps Script,Google Bigquery,我在设置了模式的大查询中有一个空白表 我在Google工作表中有数据,列的顺序与表模式相同 当我从谷歌电子表格中获取数据时,我会得到一个2D数组[[xxx1,yyyy1,zzz1],[xxx2,yyyy2,zzz2]]等等 如何将数组内容插入到大查询表中 我想我需要使用以下代码-但是数据的格式是什么变量,如何将数组设置为该格式 let job = { configuration: { load: { destinationTable: { projectId: proje
let job = {
configuration: {
load: {
destinationTable: {
projectId: projectId,
datasetId: datasetId,
tableId: tableId
}
}
}
};
job = BigQuery.Jobs.insert(job, projectId, data [what do I need here??]);
非常感谢
编辑:我应该补充一点,我不能直接将google工作表连接到表和流。该工作表只是一个权宜之计,每周收集一行数据,并添加一些数据,然后将其转储到大查询中——最终将有成百上千行数据,因此无法留在谷歌工作表中
EDIT2:数据也是各种类型的字符串、整数和日期问题:
接受blobBigQuery.Jobs
。所以你需要它以水滴的形式出现数据
- 使用
将数据转换为blob格式newBlob
接受blobBigQuery.Jobs
。所以你需要它以水滴的形式出现数据
- 使用
将数据转换为blob格式newBlob
function test() {
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getRange("A1:B2").getValues();
// rows data is 2D string array
Logger.log(rows);
// newBlob only accepts String so we convert rows into one
var rowsString = rows.join("\n");
Logger.log(rowsString);
// data below is now of type Blob object
var data = Utilities.newBlob(rowsString, 'application/octet-stream');
Logger.log(data);
}