Javascript 在导入到Google电子表格之前过滤CV

Javascript 在导入到Google电子表格之前过滤CV,javascript,csv,google-apps-script,google-sheets,Javascript,Csv,Google Apps Script,Google Sheets,我在谷歌电子表格中有一个脚本,该脚本从URL下载压缩的CSV,然后将其导入电子表格。实际上,CVS太大了,我不需要它的所有数据。我的问题是,在将数据导入电子表格之前,如何过滤数据?例如,使用X值筛选列A 这是我目前掌握的代码: function descargarzip() { var urldescarga = "http://187.191.75.115/gobmx/salud/datos_abiertos/datos_abiertos_covid19.zip" var url = url

我在谷歌电子表格中有一个脚本,该脚本从URL下载压缩的CSV,然后将其导入电子表格。实际上,CVS太大了,我不需要它的所有数据。我的问题是,在将数据导入电子表格之前,如何过滤数据?例如,使用X值筛选列A

这是我目前掌握的代码:

function descargarzip() 
{
var urldescarga = "http://187.191.75.115/gobmx/salud/datos_abiertos/datos_abiertos_covid19.zip"
var url = urldescarga
var zipblob = UrlFetchApp.fetch(url).getBlob(); 
zipblob.setContentTypeFromExtension();
var unzipblob = Utilities.unzip(zipblob); 
var unzipstr=unzipblob[0].getDataAsString();
var csv = Utilities.parseCsv(unzipstr);

var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
ss.getRange(1, 1, csv.length, csv[0].length).setValues(csv);
}
提前谢谢你

试试这个:

function descargarzip() {
  var urldescarga = "http://187.191.75.115/gobmx/salud/datos_abiertos/datos_abiertos_covid19.zip"
  var url = urldescarga
  var zipblob = UrlFetchApp.fetch(url).getBlob(); 
  zipblob.setContentTypeFromExtension();
  var unzipblob = Utilities.unzip(zipblob); 
  var unzipstr=unzipblob[0].getDataAsString();
  var csv = Utilities.parseCsv(unzipstr);
  var x = 'You enter the contents x';
  csv.forEach(function(r,i){
    if(r[0]==x) {
      r[0]='';//You have to put something back in there because the csv has to be a rectangular array for setValues();
    }
  });//You could remove an entire line or an entire column
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
  ss.getRange(1, 1, csv.length, csv[0].length).setValues(csv);
}
如果@TheMaster正确,请尝试以下操作:

function descargarzip() {
  var urldescarga = "http://187.191.75.115/gobmx/salud/datos_abiertos/datos_abiertos_covid19.zip"
  var url = urldescarga
  var zipblob = UrlFetchApp.fetch(url).getBlob(); 
  zipblob.setContentTypeFromExtension();
  var unzipblob = Utilities.unzip(zipblob); 
  var unzipstr=unzipblob[0].getDataAsString();
  var csv = Utilities.parseCsv(unzipstr);
  var x = 'You enter the contents x';
  var d=0;
  //I tested this on some of my data and I believe it works
  for(var i=0;(i-d)<csv.length;i++) {
    if(csv[i-d][0]==x) {
      csv.splice(i-d++,1);//I think this is correct but I could be wrong in here because I mostly use this approach for deleting rows not portions of the array.  So if you have problems the please share your csv data and I will debug it.
    }
  }
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
  ss.getRange(1, 1, csv.length, csv[0].length).setValues(csv);
}
函数descargarzip(){
变量urldescarga=”http://187.191.75.115/gobmx/salud/datos_abiertos/datos_abiertos_covid19.zip"
var url=urldescarga
var zipblob=UrlFetchApp.fetch(url.getBlob();
setContentTypeFromExtension();
var unzipblob=Utilities.unzip(zipblob);
var unzipstr=unzipblob[0]。getDataAsString();
var csv=Utilities.parseCsv(unzipstr);
var x='输入内容x';
var d=0;
//我在我的一些数据上进行了测试,我相信它是有效的
对于(var i=0;(i-d)请尝试以下方法:

function descargarzip() {
  var urldescarga = "http://187.191.75.115/gobmx/salud/datos_abiertos/datos_abiertos_covid19.zip"
  var url = urldescarga
  var zipblob = UrlFetchApp.fetch(url).getBlob(); 
  zipblob.setContentTypeFromExtension();
  var unzipblob = Utilities.unzip(zipblob); 
  var unzipstr=unzipblob[0].getDataAsString();
  var csv = Utilities.parseCsv(unzipstr);
  var x = 'You enter the contents x';
  csv.forEach(function(r,i){
    if(r[0]==x) {
      r[0]='';//You have to put something back in there because the csv has to be a rectangular array for setValues();
    }
  });//You could remove an entire line or an entire column
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
  ss.getRange(1, 1, csv.length, csv[0].length).setValues(csv);
}
如果@TheMaster正确,请尝试以下操作:

function descargarzip() {
  var urldescarga = "http://187.191.75.115/gobmx/salud/datos_abiertos/datos_abiertos_covid19.zip"
  var url = urldescarga
  var zipblob = UrlFetchApp.fetch(url).getBlob(); 
  zipblob.setContentTypeFromExtension();
  var unzipblob = Utilities.unzip(zipblob); 
  var unzipstr=unzipblob[0].getDataAsString();
  var csv = Utilities.parseCsv(unzipstr);
  var x = 'You enter the contents x';
  var d=0;
  //I tested this on some of my data and I believe it works
  for(var i=0;(i-d)<csv.length;i++) {
    if(csv[i-d][0]==x) {
      csv.splice(i-d++,1);//I think this is correct but I could be wrong in here because I mostly use this approach for deleting rows not portions of the array.  So if you have problems the please share your csv data and I will debug it.
    }
  }
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
  ss.getRange(1, 1, csv.length, csv[0].length).setValues(csv);
}
函数descargarzip(){
变量urldescarga=”http://187.191.75.115/gobmx/salud/datos_abiertos/datos_abiertos_covid19.zip"
var url=urldescarga
var zipblob=UrlFetchApp.fetch(url.getBlob();
setContentTypeFromExtension();
var unzipblob=Utilities.unzip(zipblob);
var unzipstr=unzipblob[0]。getDataAsString();
var csv=Utilities.parseCsv(unzipstr);
var x='输入内容x';
var d=0;
//我在我的一些数据上进行了测试,我相信它是有效的

对于(var i=0;(i-d)提供示例csv数据提供示例csv数据