能否将JavaScript对象的所有键值对提取并导入Google Spreadsheet行列?
可行,以下是具体实现方法
假设你使用Google Apps Script来完成API数据提取与Sheet写入(这是连接API和Google Sheets最常用的方式),可以按以下步骤操作:
1. 解析API返回的Timeline对象
如果你的API返回的timeline是日期为键、数值为值的键值对对象,比如:
const timeline = { "2022-10-31": 431.0, "2022-11-01": 1177.0, "2022-11-02": 827.0, // ... 其他日期与数值 };
可以用Object.entries()方法将其转换为[日期, 数值]的数组结构,再添加序号和表头。
2. 写入Google Sheets
完整代码示例:
function writeTimelineToSheet() { // 替换为你从API获取到的timeline数据 const timeline = { "2022-10-31": 431.0, "2022-11-01": 1177.0, "2022-11-02": 827.0, "2022-11-03": 878.0, "2022-11-04": 704.0, "2022-11-05": 909.0, "2022-11-06": 1135.0 }; // 构造Sheet需要的二维数组:第一行为表头,后续为数据行 const sheetData = [["序号", "日期", "数值"]]; let index = 1; // 遍历timeline的所有键值对,加入数组 for (const [date, value] of Object.entries(timeline)) { sheetData.push([index++, date, value]); } // 获取目标工作表(替换成你的Sheet名称) const targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); // 将数据写入Sheet,自动匹配行列数 targetSheet.getRange(1, 1, sheetData.length, sheetData[0].length).setValues(sheetData); }
操作说明
- 把你的API请求代码整合到这个函数中,替换示例里的
timeline变量 - 在Google Sheets中打开「扩展程序」→「Apps脚本」,粘贴代码后运行即可
- 如果API返回的
timeline是嵌套结构,只需先提取到目标键值对对象,再按上述步骤处理
内容的提问来源于stack exchange,提问作者Gabriel Belli
相关产品推荐
相关产品推荐

