Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Come importare su google sheets un file csv che supera il limite massimo? #260

Closed
gbvitrano opened this issue Mar 29, 2024 · 4 comments
Closed

Comments

@gbvitrano
Copy link
Member

Buongiorno,
volevo giocare con i dati del PUN Piattaforma Unica Nazionale dei punti di ricarica per i veicoli elettrici, resi disponibili dall'associazione onData.
Ma google sheets restituisce un errore, il contenuto della risorsa supera il limite massimo consentito

2024-03-29_20h58_32

C'è modo di superare tale limite?

@gbvitrano
Copy link
Member Author

gbvitrano commented Mar 29, 2024

Risolto :-)
Seguendo un consiglio di @aborruso ho fatto una ricerca usando #PerplexityAI. Qui trovate un bella lezione sull'uso di #PerplexityAI

Ecco uno script in Google Apps Script che ti permette di importare un file CSV che supera il limite di dimensione in Google Sheets:

` function importLargeCSV() {
// Inserisci l'URL del file CSV che vuoi importare
var csvUrl = "https://example.com/large-file.csv";

// Imposta il numero massimo di righe da importare per volta
var maxRowsPerImport = 50000;

// Crea un nuovo foglio di lavoro per i dati importati
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getSheets()[0]; // Usa il primo foglio di lavoro

// Inizializza il contatore delle righe importate
var rowsImported = 0;

// Importa i dati in blocchi fino a quando non vengono importate tutte le righe
while (true) {
try {
// Importa il prossimo blocco di dati
var data = Utilities.parseCsv(UrlFetchApp.fetch(csvUrl).getContentText());
var numRows = data.length;

  // Inserisci i dati nel foglio di lavoro
  sheet.getRange(rowsImported + 1, 1, numRows, data[0].length).setValues(data);
  
  // Aggiorna il contatore delle righe importate
  rowsImported += numRows;
  
  // Interrompi il ciclo se sono state importate tutte le righe
  if (numRows < maxRowsPerImport) {
    break;
  }
} catch (e) {
  // Gestisci gli errori durante l'importazione
  Logger.log("Errore durante l'importazione: " + e.message);
  break;
}

}

Logger.log("Importazione completata. Righe importate: " + rowsImported);
}
`

@gbvitrano
Copy link
Member Author

usando lo script google sheets ha importato un file di 32008 righe

@gpirrotta
Copy link
Member

Ciao @gbvitrano
io solitamente faccio così, senza usare cicli:

function getBigCSV() {
  const sheet = SpreadsheetApp.getActive().getSheetByName('Foglio1');
  const url = 'https://raw.githubusercontent.com/ondata/rete_ricarica_veicoli_elettrici/main/data/rete_ricarica_veicoli_elettrici.csv';
  const csv = UrlFetchApp.fetch(url);
  const data = Utilities.parseCsv(csv);
  sheet.getRange(1, 1, data.length, data[0].length).setValues(data);
}

@gbvitrano
Copy link
Member Author

Piattaforma Unica Nazionale dei punti di ricarica per i veicoli elettrici, resi disponibili dall'associazione onData.

Aggiungo la tua soluzione alla ricetta, grazie :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants