首页 > 解决方案 > 从 google 表格中的 url 解压缩 csv 文件

问题描述

我需要从包含 CSV 的 url 中解压缩 zip 文件并将其发布在工作表中,但我遇到了问题。我尝试过使用以下脚本,但它似乎不起作用:

function myFunction() {
    var url = 'my URL' 
var blob = UrlFetchApp.fetch(url).getBlob(); 
var zip = Utilities.zip([blob], "my.zip");
var files = Utilities.unzip(zip);
var unzipstr = files[0].getDataAsString();
var csv = Utilities.parseCsv(unzipstr);

var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet1");
ss.getRange(1, 1, csv.length, csv[0].length).setValues(csv);
  
}

我真的希望你们中的一些人可以帮助解决这个问题!我对所有想法持开放态度

标签: csvurlgoogle-apps-scriptgoogle-sheetsunzip

解决方案


据我了解,您的 URL 中的文件已经是一个 zip 文件,您正在尝试在此处压缩一个 zip 文件:

var zip = Utilities.zip([blob], "my.zip");

删除代码的 zip 部分,您的代码应如下所示:

function myFunction() {
  var url = 'my URL' 
  var blob = UrlFetchApp.fetch(url).getBlob();
  var file = Utilities.unzip(blob);
  var unzipstr = file[0].getDataAsString();
  var csv = Utilities.parseCsv(unzipstr);

  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet1");
  ss.getRange(1, 1, csv.length, csv[0].length).setValues(csv);
}

输出: 在此处输入图像描述


推荐阅读