You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets App Script下载解压ZIP提取CSV自定义函数求助

Google Sheets 自定义交易数据拉取函数开发说明

开发背景

  • 正在开发Google Sheets自定义函数,用于从目标站点下载内嵌CSV交易数据的ZIP压缩包
  • 待处理数据集共2200行,覆盖多交易标的(symbol)记录,包含12列字段

预期实现目标

  • 拉取携带日期后缀的自定义URL对应ZIP文件,完成压缩包内CSV数据提取解析
  • 实现筛选查询逻辑:根据输入的指定日期、交易标的参数,匹配选定属性对应的数值
  • 结合传入的URL、日期、列属性、交易标的参数,在调用函数的单元格直接返回匹配结果

当前开发进度

  • 已完成基础链路:可实现ZIP文件下载、解压、CSV格式解析,解析完成的数据会写入名为Temp的临时工作表
  • 未完成部分:数据筛选匹配、结果返回逻辑,需要对应开发指导
  • 现有已编写代码如下:
/** 
 * 导入指定日期的CSV交易数据
 * 
 * @param {URL} url 拼接了日期标识的待下载文件链接
 * @param {string} symbol 需提取数据的交易标的
 * @param {date} date 需提取数据的对应日期
 * @param {string} attribute 需提取的字段属性
 * @return 匹配条件的字段数值
 * @customfunction
 */

function importbhav(url,symbol,date,attribute) {
  
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Temp') ;  // 解压后CSV数据的临时存储工作表
  var s1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1') ;  // 格式化输出结果的目标工作表
  
  var Cell_A = s1.getActiveRange().getValue(); // 关联日期的URL引用单元格
  var Cell_B = s1.getActiveRange('$B$5:$B').getValue(); // 交易标的取值范围
  var Cell_C = s1.getActiveRange('$D$4:$KO$4').getValue(); // 日期取值范围
  var Cell_D = s1.getActiveRange('G1').getValue(); // 属性取值单元格
  var url = Cell_A  ;
  var symbol = Cell_B  ;
  var date = Cell_C ;
  var Attribute = Cell_D

  // 字段名映射
  var Attribute = [Dattributes_1,Dattributes_2,Dattributes_3,Dattributes_4,Dattributes_5,Dattributes_6,Dattributes_7,Dattributes_8,Dattributes_8,Dattributes_9]  ;
  var Dattributes_1="SYMBOL"  ;
  var Dattributes_2="SERIES"  ;
  var Dattributes_3="OPEN" ;
  var Dattributes_4="HIGH" ;
  var Dattributes_5="LOW" ;
  var Dattributes_6="CLOSE" ;
  var Dattributes_7="LAST" ;
  var Dattributes_8="TOTTRDVAL" ;
  var Dattributes_9="TOTALTRADES" ;

  // 文件下载与解压逻辑
  var zipblob = UrlFetchApp.fetch(url).getBlob(); 
  var unzipblob = Utilities.unzip(zipblob); 
  var unzipstr=unzipblob[0].getDataAsString();
  var csv = Utilities.parseCsv(unzipstr);

  ss.getRange(1, 1, csv.length, csv[0].length).clearContent().setValues(csv);

  // 待补充:条件匹配与结果返回逻辑

}

内容的提问来源于stack exchange,提问作者Robin U

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 18:31:12