Преобразование текстового файла в электронную таблицу Скрипт Google Apps

#google-apps-script #google-sheets #google-drive-api

Вопрос:

Я ищу способ преобразовать файл brut в .txt, а затем в электронную таблицу, используя скрипт Google Apps.

Я уже видел способ преобразования xls в электронную таблицу Google с помощью этого скрипта (с использованием Drive API V2). :

 function convert_XLS_To_SpreadSheet(){
  var folder = DriveApp.getFoldersByName('RootFolder').next().getFoldersByName('depository').next();
  var txtFile = folder.getFilesByName('file.xls').next();
  Logger.log('Text File : '   txtFile);

  
  var resource = {
    title : txtFile.getName(),
    mimeType : MimeType.GOOGLE_SHEETS,
    parents: [{id : folder.getId()}],
  }

  Drive.Files.insert(resource, txtFile.getBlob(),{
    convert: true
  });

  txtFile.setTrashed(true);
}
 

Я попытался сделать то же самое, заменив файл, который я хотел, в формат txt, но это дает мне документ Google, даже если я укажу правильный тип файла.

Комментарии:

1. Для уточнения: Что такое файл «brut»?

2. каковы разделители?

3. Привет, разделители-это ВКЛАДКА @Cooper

4. Файл Brut -> файл без расширения @andrewjames

5. Каковы разделители в конце строки?

Ответ №1:

Разделитель столбцов: t

Разделитель строк: n

Код:

 function bf2ss() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName('Sheet1');
  const file = DriveApp.getFileById('fileId');
  let lA = file.getBlob().getDataAsString().split(/n/);
  let fA = lA.map(r => r.split(/t/));
  sh.clearContents();
  sh.getRange(1,1,fA.length,fA[0].length).setValues(fA);
}
 

Лист1:

0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9

Комментарии:

1. Большое спасибо, это отлично работает; Я не разбирался в разделителях конца строки, думал, что это определенный символ, но теперь все в порядке !