Google Sheets脚本:将ChatGPT返回的编号列表拆分至多行
实现ChatGPT返回的编号列表拆分到Google表格多行
你可以通过修改现有脚本的返回逻辑,将ChatGPT返回的编号列表拆分为二维数组,让Google Sheets自动将每一项填充到单独的行中。
修改后的完整脚本
function GPT(prompt) { var API_KEY = "myapikey"; var Model_ID = "text-davinci-002"; var maxTokens = 64; var temperature = 0.5; // 构建API请求体 var payload = { 'model': Model_ID, 'prompt': prompt, 'temperature': temperature, 'max_tokens': maxTokens, }; var options = { "method": "post", "headers": { "Content-Type": "application/json", "Authorization": "Bearer " + API_KEY }, "payload": JSON.stringify(payload) }; // 发送API请求 var response = UrlFetchApp.fetch("https://api.openai.com/v1/completions", options); // 解析响应并处理结果 var responseData = JSON.parse(response.getContentText()); var resultText = responseData.choices[0].text.trim(); // 按换行拆分列表项,过滤空行 var items = resultText.split('\n').filter(item => item.trim() !== ''); // 移除每项开头的编号前缀,整理为二维数组 var formattedItems = items.map(item => { return [item.replace(/^\d+\.\s+/, '').trim()]; }); // 返回二维数组,表格会自动填充到多行 return formattedItems; }
使用说明
- 将上述代码替换原有的GPT函数
- 在表格单元格中输入公式
=GPT("give me a list of 5 whatever"),按下回车键后,返回的每个列表项会自动填充到当前单元格及下方的行中
关键修改点
- 将原本返回单个字符串的逻辑,改为拆分文本为数组
- 使用正则表达式移除每个列表项开头的
数字.前缀 - 返回二维数组(每个元素是包含单个字符串的数组),这是Google Sheets识别并自动填充多行的格式要求
内容的提问来源于stack exchange,提问作者hamd01
相关产品推荐
相关产品推荐

