Convertire i dati CSV in file TXT semplici è una necessità frequente quando si costruiscono pipeline di dati, strumenti di reporting o semplici esportatori di log. Aspose.Cells Cloud SDK for Node.js fornisce una libreria potente che gestisce il lavoro pesante della conversione di formato sul lato server. In questa guida imparerai come eseguire la conversione da CSV a TXT in Node.JS passo dopo passo, esplorare un approccio REST basato su cURL, regolare le opzioni di codifica e applicare le migliori pratiche di prestazioni.
Requisiti per la conversione da CSV a TXT
Gli sviluppatori spesso hanno bisogno di trasformare dati CSV in stile foglio di calcolo in file TXT grezzi per sistemi a valle che si aspettano testo delimitato per riga senza virgole. I requisiti tipici includono:
- Elaborazione ad alto volume - la capacità di gestire file di grandi dimensioni senza caricare l’intero contenuto in memoria.
- Codifica dei caratteri personalizzata - molti sistemi legacy richiedono UTF‑8, ISO‑8859‑1, o altre codifiche specifiche.
- Automazione - la conversione deve essere richiamabile da un backend Node.JS senza intervento manuale.
L’utilizzo di script generici per il file‑system può rapidamente diventare soggetto a errori, soprattutto quando si gestiscono codifiche diverse o quando l’applicazione viene eseguita in un ambiente cloud in cui l’accesso ai file locali è limitato.
Scegliere Aspose.Cells Cloud SDK for Node.js per il lavoro
Aspose.Cells Cloud SDK for Node.js offre un’API basata su REST che funziona nel cloud, eliminando la necessità di installazioni locali di Office. Le funzionalità chiave che corrispondono ai requisiti sono:
- Streaming support - i file vengono caricati e scaricati come stream, riducendo l’impronta di memoria.
- Encoding control - la classe TxtSaveOptions consente di specificare qualsiasi codifica di testo supportata.
- Batch‑ready design - è possibile invocare la conversione in cicli o flussi di lavoro asincroni.
L’SDK si integra perfettamente con gli altri servizi Aspose e la completa documentazione e il riferimento API forniscono indicazioni dettagliate per ogni metodo utilizzato in questo tutorial.
CSV a TXT in Node.JS: Implementazione
Di seguito è una panoramica concisa dell’intero processo. Ogni passaggio include un breve estratto di codice preso direttamente dall’esempio completo più avanti nell’articolo.
Installa SDK e Configura Credenziali
Innanzitutto, aggiungi la libreria al tuo progetto e configura il client API con il tuo ID client e il segreto.
npm install asposecellscloud
const { CellsApi, ApiClient, model } = require('asposecellscloud');
const clientId = 'YOUR_CLIENT_ID';
const clientSecret = 'YOUR_CLIENT_SECRET';
const config = new ApiClient.Configuration({
clientId,
clientSecret,
basePath: 'https://api.aspose.cloud'
});
const cellsApi = new CellsApi(config);
Carica file CSV nello storage cloud
Leggi il file CSV locale e caricalo nello storage cloud di Aspose.
const [fs](https://docs.fileformat.com/programming/fs/) = require('fs');
const path = require('path');
const localCsvPath = path.resolve(__dirname, ‘sample.csv’); const remoteCsvPath = ‘sample.csv’; const csvData = fs.readFileSync(localCsvPath);
const uploadRequest = new model.UploadFileRequest({
path: remoteCsvPath,
file: csvData
});
await cellsApi.uploadFile(uploadRequest);
Definisci le opzioni di salvataggio TXT con codifica personalizzata
Crea un oggetto TxtSaveOptions per specificare la codifica UTF‑8 (o qualsiasi altra di cui hai bisogno).
const txtSaveOptions = new model.TxtSaveOptions({
encoding: 'utf-8' // custom encoding
});
<!--[CODE_SNIPPET_END]-->
### Converti cartella di lavoro da CSV a TXT
Esegui la richiesta di conversione, passando il nome del CSV remoto e le opzioni TXT.
<!--[CODE_SNIPPET_START]-->
```javascript
const convertRequest = new model.ConvertWorkbookRequest({
name: remoteCsvPath,
format: 'txt',
outPath: '',
options: txtSaveOptions
});
const convertResponse = await cellsApi.convertWorkbook(convertRequest);
<!--[CODE_SNIPPET_END]-->
### Scarica il risultato TXT e pulisci il file remoto
Scrivi il contenuto TXT convertito in un file locale e, facoltativamente, elimina il CSV di origine dall'archiviazione cloud.
```javascript
const localTxtPath = path.resolve(__dirname, 'sample.txt');
fs.writeFileSync(localTxtPath, convertResponse.body);
const deleteRequest = new model.DeleteFileRequest({ path: remoteCsvPath });
await cellsApi.deleteFile(deleteRequest);
console.log('CSV successfully converted to TXT at:', localTxtPath);
Esempio di codice completo: CSV in TXT in Node.JS usando Aspose.Cells
Il codice seguente dimostra l’intero flusso di lavoro dall’inizio alla fine.
const { CellsApi, ApiClient, model } = require('asposecellscloud');
const fs = require('fs');
const path = require('path');
(async () => { // ==== Configuration ==== const clientId = ‘YOUR_CLIENT_ID’; const clientSecret = ‘YOUR_CLIENT_SECRET’; const config = new ApiClient.Configuration({ clientId, clientSecret, basePath: ‘https://api.aspose.cloud’ }); const cellsApi = new CellsApi(config);
// ==== Percorsi dei file ==== const localCsvPath = path.resolve(__dirname, ‘sample.csv’); // CSV di input const remoteCsvPath = ‘sample.csv’; // path in Aspose Cloud storage const localTxtPath = path.resolve(__dirname, ‘sample.txt’); // TXT di output
// ==== Carica CSV su storage cloud ====
const csvData = fs.readFileSync(localCsvPath);
const uploadRequest = new model.UploadFileRequest({
path: remoteCsvPath,
file: csvData
});
await cellsApi.uploadFile(uploadRequest);
// ==== Prepare TXT save options with custom encoding ====
const txtSaveOptions = new model.TxtSaveOptions({
encoding: 'utf-8' // custom encoding
});
// ==== Convert CSV to TXT ==== const convertRequest = new model.ConvertWorkbookRequest({ name: remoteCsvPath, format: ’txt’, outPath: ‘’, options: txtSaveOptions }); const convertResponse = await cellsApi.convertWorkbook(convertRequest);
// ==== Salva il TXT convertito localmente ==== fs.writeFileSync(localTxtPath, convertResponse.body);
// ==== Pulizia del file remoto (opzionale) ==== const deleteRequest = new model.DeleteFileRequest({ path: remoteCsvPath }); await cellsApi.deleteFile(deleteRequest);
console.log('CSV successfully converted to TXT at:', localTxtPath);
})();
Nota: Questo esempio di codice dimostra la funzionalità principale. Prima di usarlo nel tuo progetto, assicurati di aggiornare tutti i percorsi dei file e i valori di configurazione per corrispondere al tuo ambiente reale, verifica che tutte le dipendenze richieste siano installate correttamente e testa accuratamente nel tuo ambiente di sviluppo. Se incontri problemi, consulta la documentazione ufficiale o contatta il team di supporto per assistenza.
Conversione di CSV in TXT con cURL e l’API REST
Se preferisci un approccio puramente REST, la stessa conversione può essere eseguita con comandi cURL.
1. Autenticazione e ottenimento del token di accesso
curl -X POST "https://api.aspose.cloud/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
2. Caricamento del CSV di origine
curl -X PUT "https://api.aspose.cloud/v3.0/cells/storage/file/sample.csv" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: text/csv" \
--data-binary "@sample.csv"
3. Esecuzione della conversione
curl -X POST "https://api.aspose.cloud/v3.0/cells/sample.csv/convert?format=txt" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"TxtSaveOptions": {"Encoding": "utf-8"}}' \
-o sample.txt
4. Download del file TXT di output (già salvato con l’opzione -o)
Questi comandi illustrano lo stesso flusso senza scrivere codice Node.JS. Per ulteriori dettagli, consulta la documentazione ufficiale dell’API.
Opzioni di conversione: Impostazioni per l’esportazione da CSV a TXT
L’SDK espone diverse proprietà che puoi modificare per perfezionare l’output.
- Encoding – Determina il set di caratteri del file TXT. L’esempio mostrato sopra utilizza
'utf-8'. - OutPath – Se desideri che il risultato sia memorizzato direttamente nello storage cloud, imposta un percorso come
'output/sample.txt'. - SaveFormat – Sebbene il formato della richiesta sia
'txt', è possibile richiedere'txt'con delimitatori diversi tramite opzioni aggiuntive (non trattate qui).
Ecco un frammento che modifica la posizione di output:
const convertRequest = new model.ConvertWorkbookRequest({
name: remoteCsvPath,
format: 'txt',
outPath: 'output/result.txt', // store in cloud storage
options: txtSaveOptions
});
Per un elenco completo delle proprietà configurabili, fare riferimento alla classe TxtSaveOptions.
Conclusione
Convertire CSV in TXT in Node.JS diventa semplice quando si utilizza l’Aspose.Cells Cloud SDK for Node.js. La libreria gestisce lo streaming dei file, la codifica personalizzata e l’interazione con l’archiviazione cloud, consentendo di concentrarsi sulla logica di business anziché sul parsing a basso livello. Ricordati di ottenere una licenza adeguata per l’uso in produzione; una licenza a pagamento sblocca conversioni illimitate, mentre una licenza temporanea è disponibile per i test nella pagina della licenza temporanea. Con il codice e gli esempi cURL forniti, puoi integrare l’esportazione da CSV a TXT in qualsiasi servizio Node.JS in modo rapido e affidabile.
FAQ
Come gestisco la codifica personalizzata durante la conversione da CSV a TXT in Node.JS?
Utilizza l’oggetto TxtSaveOptions per impostare la proprietà encoding (ad es., 'utf-8' o 'iso-8859-1'). Questo garantisce che il TXT generato corrisponda alle aspettative del sistema di destinazione.
Posso elaborare più file CSV in un’unica esecuzione?
Sì. Posiziona la logica di conversione all’interno di un ciclo, caricando ogni CSV, invocando convertWorkbook e scaricando il TXT risultante. Il design senza stato dell’SDK rende semplice l’elaborazione batch.
Quali sono le considerazioni sulle prestazioni per file CSV di grandi dimensioni?
Esegui lo streaming del caricamento e del download del file invece di caricare l’intero file in memoria. Gli endpoint REST dell’SDK funzionano con gli stream, riducendo l’uso della RAM e migliorando la scalabilità.
È necessaria una licenza per la conversione da CSV a TXT in produzione?
È necessaria una licenza a pagamento per le distribuzioni in produzione. È possibile ottenere una licenza temporanea per la valutazione dalla pagina della licenza temporanea.