Utilities.parseCsv(csv, «;») también divide por comas

Resumen del Problema

El usuario desea trabajar con un archivo CSV delimitado por ; y que contiene comas en algunos campos. Sin embargo, al usar la función Utilities.parseCsv(csv, ";") de Google Apps Script (GAS), el CSV también se está separando por comas, lo que interfiere con el procesamiento del archivo.

Preguntas

  1. ¿Por qué se está separando por , si estoy indicando ;?

    • El problema radica en el formato de los campos. En CSV, los campos que contienen comas deben estar encerrados entre comillas. En este caso, el campo "SEPA-Dauerauftrag an" está correctamente delimitado, pero el campo Maier, Herbert no tiene comillas, lo que hace que la función parseCsv lo considere como dos campos separados.
  2. ¿Cómo puedo solucionar el problema?
    • Para resolver este problema, se debe asegurar que todos los campos que contengan comas estén correctamente delimitados con comillas. En el ejemplo proporcionado, cambiar Maier, Herbert a "Maier, Herbert" permitirá que la función parseCsv reconozca el campo correctamente como uno solo.

Código Sugerido

Si es posible, modifique el archivo CSV para que se vea así:

01.02.2018;01.02.2018;"SEPA-Dauerauftrag an";"Maier, Herbert";RINP Dauerauftrag Miete Kräpelinstr. 61;DE45700100800225067803;PBNKDEFFXXX;;;;;;;;;-900,00;;EUR

Uso de la Función

Después de realizar la modificación, el código de GAS debería funcionar correctamente y separar los campos usando solo ;, sin dividir por las comas dentro de los campos entre comillas.

function importCSVFromGoogleDrive() {
  var ss = SpreadsheetApp.openById('<wb id>');
  var outputSheet = ss.getSheetByName('import');

  var fileIterator = DriveApp.getFilesByName("Kontoumsaetze_220_320895600_20180728_155842_DEV.csv");
  var csv = fileIterator.next().getBlob().getDataAsString('ISO-8859-1');
  Logger.log(csv);
  var csvData = Utilities.parseCsv(csv, ";");
  Logger.log("-------------");
  Logger.log(csvData);
}

Conclusión

Asegurarse de que los campos que contienen comas estén correctamente encerrados en comillas resolverá el problema de separación en el archivo CSV. Esto garantizará que la función parseCsv interprete correctamente los datos y que el programa funcione como se espera.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *