Import gzipped data into Google Sheets

后端 未结 2 1931
鱼传尺愫
鱼传尺愫 2021-01-01 05:42

I am trying to fetch a gzip from a URL and import it automatically into a Google Sheets. The gzip contains one file of CSV data.

I know I can import the CSV data int

相关标签:
2条回答
  • 2021-01-01 06:02

    I was able to inflate (decompress) a gzipped file using a third party javascript library, pako. Here is the code:

      eval(UrlFetchApp.fetch('https://cdn.rawgit.com/nodeca/pako/master/dist/pako.js').getContentText());
    
      var charData = UrlFetchApp.fetch("<url to a .gz file>").getContent();
    
      var binData = [];
      for (var i = 0; i < charData.length; i++) {
        binData.push(charData[i] < 0 ? charData[i] + 256 : charData[i]);
      }
    
      var data = pako.inflate(binData);
    
      var decoded = '';
      for (var i = 0; i < data.length; i++) {
        decoded += String.fromCharCode(data[i]);
      }
    
    0 讨论(0)
  • 2021-01-01 06:04

    There is an undocumented utility in GAS called unzip, I know it can unzip ordinary .zip files but have no idea if GNU zip are supported... maybe it's worth give it a try ? here is a quick test I wrote for a zip that was in my google documents/drive

    function testzip(){
    var files=DocsList.getRootFolder().find('Sans titre.txt.zip');
    var zipblob=files[0].getBlob();
    var unzipblob = Utilities.unzip(zipblob);
    var unzipstr=unzipblob[0].getDataAsString();// it is a text file
    DocsList.createFile('Sans titre.txt',unzipstr);// I kept the original name to make it simple
    }
    

    Don't blame me if it doesn't work for you... it's just a proposal ;-)

    0 讨论(0)
提交回复
热议问题