Unire più file CSV in un'unica tabella
Smetti di unire manualmente i file esportati. Punta Query Streams alla cartella e ogni file CSV al suo interno diventerà un'unica tabella SQL interrogabile: i nuovi file verranno aggiunti automaticamente e potrai comunque risalire al file di origine di ogni riga.
SOMMA (ricavo)
Dalle vendite
Raggruppamento per regione;
Query Streams è una piattaforma di integrazione di database sicura e in tempo reale che trasforma un'intera cartella di file CSV in un'unica tabella SQL interattiva, interrogabile da Microsoft Excel, Fogli Google, Airtable e dal tuo assistente virtuale basato sull'intelligenza artificiale. Per saperne di più, visita QueryStreams.com e iscriviti gratuitamente per unire la tua prima cartella di file CSV in pochi minuti.
Unire file CSV è uno di quei lavori che sembrano banali finché non li si esegue. Copiare e incollare funziona per tre file. Con trenta file è un pomeriggio. Con trecento diventa uno script che qualcuno deve gestire, e con tremila diventa una pipeline di dati che nessuno si è assunto la responsabilità di gestire.
La parte scomoda è che il lavoro non finisce mai. Una nuova esportazione arriva domani, quindi qualsiasi cosa tu abbia unito oggi è già obsoleta. Connettore per cartelle CSV Questo problema viene risolto non generando mai un file unito. La cartella viene presentata come una tabella SQL, in tempo reale. Basta aggiungere un file e questo sarà immediatamente presente nella tabella alla successiva sincronizzazione.
In che modo questo si differenzia dai metodi usuali per unire file CSV?
Non mancano i modi per combinare i file CSV. La distinzione che conta è se si finisce con un artefatto unito che diventa stantio, o un visualizzazione in diretta che non lo fa.
| Approccio | Rimane aggiornato | Quanto ti costa |
|---|---|---|
| Copia e incolla in Microsoft Excel | No | Ogni volta manualmente, e il limite di righe si ferma a circa un milione di righe. |
| Power Query “Da cartella” | Al momento dell'aggiornamento | Risiede all'interno di una cartella di lavoro, necessita di un aggiornamento e carica ogni riga nel file. |
| Uno script Python o PowerShell | Quando funziona | Qualcuno se ne occupa, ne pianifica la programmazione e ne corregge gli errori, di solito la persona che lo ha scritto. |
| Unione di file CSV online | No | Carichi i tuoi dati sul server di uno sconosciuto. Per qualsiasi utilizzo commerciale, la conversazione finisce qui. |
| Cartella CSV dei flussi di query | Sempre | Nulla viene unito, caricato o copiato: la cartella viene interrogata nella posizione in cui si trova. |
L'altra differenza pratica è la portata. Un'unione Power Query risiede nella cartella di lavoro che la possiede. Un connettore Query Streams è un'origine dati, quindi la stessa tabella combinata è disponibile contemporaneamente in Microsoft Excel, Fogli Google, Airtable, Smartsheet, Nova AI e nel tuo assistente AI. si collega ai database esistenti come qualsiasi altro tavolo.
Cosa succede alla prima sincronizzazione?
Query Streams campiona fino a 64 file nella cartella e determina tre cose su cui devono essere d'accordo: il codifica dei caratteri, IL dialetto (delimitatore, carattere virgoletta, carattere di escape, se è presente una riga di intestazione) e il colonne e le loro tipologieLa forma concordata diventa la definizione della tabella, e viene fissata, messa per iscritto e difesa da quel momento in poi.
L'accordo è richiesto, non dato per scontato. Se metà dei file sono separati da virgole e metà da punti e virgola, il connettore si rifiuta di bloccarsi e ti dice quali file non sono d'accordo e perché, invece di sceglierne uno vincente e scartare silenziosamente gli altri. Lo stesso vale per i tipi: se ID ordine è un numero nella maggior parte dei file e un testo in uno, ovvero un rifiuto esplicito, non un rifiuto silenzioso.
Una volta bloccati, tutti i file vengono letti rigorosamente in base a tale definizione. Una riga che non corrisponde ai tipi bloccati non viene mai forzata o saltata: il file a cui appartiene viene invece messo in attesa, come spiegato più avanti.
La codifica dei caratteri, l'elemento che causa la maggior parte dei problemi nelle unioni
Se hai mai unito file CSV e hai finito per ottenere é dove un é dovrebbe essere, o un simbolo di sterlina deformato, hai riscontrato un problema di codifica. Questo accade perché la maggior parte degli strumenti di unione presuppone che ogni file sia UTF-8, mentre le esportazioni dalle applicazioni Windows spesso non lo sono.
Query Streams rileva la codifica per ogni singolo file anziché presumerla. Verifica innanzitutto la presenza di un byte order mark (BOM), quindi tenta una decodifica UTF-8 rigorosa; se questa fallisce, tratta il file come Windows-1252, che è la codifica utilizzata dalla maggior parte dei file Windows esportati senza BOM. I file non leggibili nativamente vengono elaborati da un transcodificatore in blocchi da 64 KB, in modo che un file da 2 GB non debba mai essere caricato interamente in memoria.
| Codifica | Accettato anche come | Fonte tipica |
|---|---|---|
utf-8 | utf8 | Esportazioni moderne, la maggior parte dei database, qualsiasi cosa generata dal web |
cp1252 | Windows 1252 | La funzione "Salva come CSV" di Microsoft Excel su Windows e sui sistemi aziendali meno recenti. |
latino-1 | latino1, ISO-8859-1 | Estratti da vecchi sistemi europei e mainframe |
utf-16le | utf-16, utf16 | Excel “Testo Unicode”, reindirizzamenti PowerShell |
utf-16be | - | Alcune esportazioni Java e mainframe |
La codifica deve essere coerente in tutta la cartella. Le codifiche miste sono un rifiuto denominato che elenca quali file sono stati rilevati come cosa, quindi puoi correggere il file anomalo, escluderlo o impostarlo codifica esplicitamente e fare in modo che ogni file venga letto allo stesso modo.
Le colonne di denaro rimangono esatte
Questo è un problema sottile e merita un attimo di riflessione, perché rappresenta il modo silenzioso in cui i dati CSV uniti possono andare storti.
Un file CSV non ha tipi — 19.99 Sono solo quattro caratteri. La maggior parte degli strumenti deduce un numero in virgola mobile, che non può rappresentare esattamente la maggior parte degli importi decimali. Sommando alcune centinaia di migliaia di righe di valuta in virgola mobile, il totale varia di uno o due centesimi, che è esattamente il tipo di errore che viene notato da un commercialista piuttosto che da te.
Query Streams controlla il testo effettivo. Quando ogni valore campionato in una colonna dall'aspetto numerico è un semplice decimale con non più di quattro cifre dopo la virgola e non più di quattordici prima di essa, la colonna viene bloccata come un decimale esatto anziché un numero in virgola mobile, il testo viene analizzato direttamente come decimale al momento della lettura. I totali vengono quindi sommati al centesimo.
Quando un file non corrisponde agli altri
Le cartelle di esportazione si spostano. Qualcuno aggiunge una colonna a settembre, un sistema cambia un formato data, un file viene salvato da uno strumento diverso. Quando un file non corrisponde più alla forma bloccata, è parcheggiato: le sue righe rimangono fuori dalla tabella, il motivo viene registrato e tutti gli altri file continuano a sincronizzarsi normalmente.
L'intestazione viene controllata in anticipo, quindi il motivo è specifico. Ottieni "colonna codice sconto è presente nell'intestazione ma non nella tabella fissa" invece di un'incongruenza nel conteggio delle colonne che devi diagnosticare tu stesso. Nomi di intestazione duplicati, una colonna che un file aveva in precedenza e che ora è stata eliminata e una riga finale troncata vengono tutti rilevati allo stesso modo.
SELECT relative_path, detail, occurred_at FROM files_events WHERE event_type = 'drift' ORDER BY occurred_at DESC;
Un file scritto parzialmente è un caso particolare che vale la pena conoscere. Se un'esportazione è ancora in fase di aggiunta quando viene eseguita la sincronizzazione, l'ultima riga risulterà incompleta. Invece di importare le righe intatte e lasciarvi con il dubbio sul perché il file sembri incompleto, l'intero file viene messo in attesa e viene recuperato completo al passaggio successivo, una volta che le sue dimensioni smettono di variare. Un file è quindi sempre "tutto dentro" o "tutto fuori", mai "a metà".
Quando la cartella contiene effettivamente diversi layout
A volte i file dovrebbero essere diversi. Una cartella di esportazione potrebbe contenere ordini, rimborsi e spedizioni uno accanto all'altro. Invece di forzarli in una forma o di farti creare tre connettori, cambia il layout della tabella da appuntato a una tabella per layoutQuery Streams raggruppa i file in base alle colonne effettivamente presenti e assegna a ciascun gruppo una tabella separata, fino a un massimo di 25 layout distinti.
I nomi delle tabelle derivano dai file stessi: un modello di nome file condiviso diventa il nome della tabella, quindi un gruppo di ordini_2026_*.csv i file finiscono in una tabella chiamata ordiniI nomi vengono assegnati in modo definitivo la prima volta, quindi una tabella a cui fanno già riferimento le query salvate non verrà rinominata.
Ogni riga ricorda da quale file proviene
Ecco cosa si perde in un file unito, e che poi si finisce sempre per desiderare. Unire mille file CSV è facile; capire quale di questi mille ha contribuito al dato che sembra errato è la parte difficile.
Ogni riga in una tabella di cartelle CSV contiene un _source_file colonna che indica il file da cui proviene e un _row_id che è univoco in tutta la tabella e ordinato in base alla posizione all'interno del file. Entrambi sono interrogabili come qualsiasi altra colonna.
SELECT _source_file, COUNT(*) AS row_count, SUM(revenue) AS revenue FROM sales GROUP BY _source_file ORDER BY _source_file;
Poiché l'intera cartella è una tabella, le domande tra file diventano SQL ordinario. Confrontare questo mese con lo stesso mese dell'anno scorso è un DOVE clausola, non un esercizio di apertura simultanea di due cartelle di lavoro.
Tutte le impostazioni CSV e quando modificarle
Queste sono le impostazioni specifiche per una cartella CSV. Quelle che ogni tipo di cartella condivide — cartelle radice, modelli di inclusione ed esclusione, intervallo di scansione, hashing, guard rail e override del manifesto — sono documentate in Guida al connettore File Set.
La cosa importante da capire prima di tutto: tutti questi vengono rilevati per te alla prima sincronizzazione e poi bloccatiÈ possibile impostarne una solo per ignorare il rilevamento automatico o per imporre uniformità in una cartella che non è del tutto omogenea. Una volta bloccata, un'impostazione non viene mai più reimpostata per ogni singolo file, ed è proprio per questo che un file che non corrisponde più viene messo in stato di "messa in attesa" e segnalato, anziché essere riletto silenziosamente in un altro modo.
Nome della tabella
Obbligatorio. Questo è il nome della tabella combinata in SQL. vendite, spedizioniQualunque cosa contenga effettivamente la cartella. Lettere, cifre e trattini bassi, purché non inizino con una cifra. Scegliete un nome significativo ora: sarà il nome che ogni query salvata, domanda Nova e aggiornamento del foglio di calcolo utilizzerà.
Delimitatore
Valore predefinito: una virgola. Impostalo quando i tuoi file non sono effettivamente separati da virgole: i punti e virgola sono quasi universali nelle esportazioni europee, le tabulazioni sono comuni negli strumenti di database e le barre verticali compaiono negli estratti mainframe. Digita il carattere stesso, quindi ; o |; per una scheda, la maggior parte delle esportazioni funziona con il rilevamento, quindi raramente è necessario.
Perché è meglio ignorare il comando anziché lasciarlo rilevare: Il rilevamento richiede che i file campionati siano coerenti. Se una cartella contiene alcuni file che iniziano con una virgola insieme a file che iniziano con un punto e virgola, il rilevamento si rifiuta invece di scegliere un delimitatore valido. Impostando esplicitamente il delimitatore, si indica al sistema quale sia quello corretto, e i file che non lo sono vengono bloccati con una motivazione chiara, anziché bloccare l'intero connettore.
Personaggio della citazione
Predefinito: virgolette doppie. Questo è il carattere che racchiude un campo che contiene il delimitatore — il motivo "Smith, John" rimane un solo campo. Modificalo solo per l'esportazione particolare che utilizza virgolette singole. Se vedi gli indirizzi suddivisi in colonne, questa è l'impostazione da controllare.
La prima riga è un'intestazione
Impostazione predefinita: attiva. Lascialo attivo per qualsiasi contenuto prodotto da un essere umano o da uno strumento di reporting. Disattivalo per gli estratti senza intestazione, dove le colonne diventano posizionali e ottieni nomi generici che puoi rinominare tramite override del manifest.
Commettere questo errore è ovvio e innocuo: se è attivato per errore, la prima riga di dati scompare e viene sostituita dai nomi delle colonne. Se è disattivato per errore, l'intestazione reale viene visualizzata come una riga di testo e tutte le colonne vengono visualizzate come testo.
Codifica
Predefinito: rilevamento automatico, che è quasi sempre la risposta corretta: controlla la presenza di un indicatore di ordine dei byte, convalida la codifica UTF-8 rigorosa e, in caso di errore, ricorre all'euristica di Windows-1252, quindi blocca il risultato. Le opzioni esplicite sono UTF-8, Windows-1252 (cp1252), UTF-16 LE e Latin-1.
Quando sovrascrivere: quando il rilevamento fallisce perché i file campionati non sono d'accordo e tu sai quale è quello corretto. UTF-16 LE È un aspetto che vale la pena conoscere nello specifico: si tratta di ciò che Excel scrive quando si seleziona "Testo Unicode", e i suoi file iniziano con byte che a un lettore inesperto non sembrano avere alcun significato.
Una distinzione deliberata: Windows-1252 e Latin-1 sono non trattati come la stessa cosa, perché non sono d'accordo sull'intervallo che contiene le virgolette tipografiche, il simbolo dell'euro e i trattini. Scegliere quello sbagliato di quei due trasforma € in un carattere di controllo invece di generare un errore, quindi scegli quello che il tuo esportatore effettivamente scrive.
Stringhe nulle
Predefinito: nessuno. Un valore per riga. Ogni strumento di esportazione ha il suo modo di scrivere "nessun valore" — NULL, N/A, N / A, -, #N / A, (nessuno) — e senza questo arrivano come testo letterale.
Perché è più importante di quanto sembri: un singolo N/A in una colonna numerica forza l'intera colonna a testo e poi SOMMA() smette di funzionare e l'ordinamento diventa alfabetico. L'elenco dei segnaposto qui rappresenta solitamente la differenza tra una colonna numerica e una di testo.
Formato data
Predefinito: nessuno — Le date vengono dedotte. Impostalo quando l'ordine di giorno e mese è ambiguo, che è l'errore silenzioso più dannoso in una fusione CSV: 03/04/2026 La data è il 3 aprile o il 4 marzo, a seconda di chi l'ha scritto, e nel file non c'è scritto quale.
%Y-%m-%d 2026-08-24 %d/%m/%Y 24/08/2026 (giorno prima - Regno Unito, UE) %m/%d/%Y 08/24/2026 (mese prima - Stati Uniti) %d-%b-%Y 24-ago-2026 %Y%m%d 20260824
Il formato è bloccato come tutto il resto, quindi un file che non lo corrisponde più viene messo da parte e segnalato, anziché essere reinterpretato con una lettura diversa delle stesse cifre. Questo è il comportamento desiderato in questo caso: una data invertita silenziosamente è di gran lunga peggiore di un file di cui si è venuti a conoscenza.
Disposizione della tabella
Predefinito: un layout bloccato, che prevede che ogni CSV nell'ambito condivida le stesse colonne. Passa a una tabella per layout Quando la cartella ha effettivamente accumulato nel tempo diversi set di colonne e si desidera utilizzarli tutti anziché rifiutarli, a ogni layout distinto viene assegnata una tabella separata, fino a un massimo di 25.
Modificando questa impostazione, la cartella viene ricampionata e ricostruita, come previsto. I nomi delle tabelle già in uso vengono mantenuti, quindi le query salvate esistenti continuano a funzionare.
Configurazione
È necessario un account Query Streams e l'agente di rete installato in una posizione in cui sia possibile visualizzare la cartella: un server, una workstation con la condivisione mappata o il proprio laptop. I connettori per cartelle CSV richiedono Agente di rete 2.6 o versioni successive.
- Installa l'agente da pagina di download se non è già in esecuzione.
- Nel portale, aggiungi un connettore dati e scegli Cartella CSV.
- Inserisci il percorso della cartella come lo vede la macchina dell'agente. Aggiungi un modello di file come
vendite_*.csvse la cartella contiene più elementi di quanti ne desideri combinare. - Lascia la codifica e il delimitatore su automatico, a meno che tu non sappia già che la cartella presenta incongruenze.
- Salva. L'agente campiona la cartella, ne fissa la forma e segnala quanti file ha trovato e quali sono le colonne.
- Apri il generatore di query, seleziona il connettore ed esegui la query sulla tabella, oppure chiedi a Nova AI di scrivere la query SQL per te.
\\fileserver\esportazioni\venditeoppure un percorso locale sul computer dell'agente, e verificare che l'account con cui viene eseguito l'agente abbia i permessi di lettura.
Dove può andare la tabella combinata
- Microsoft Excel e Fogli Google — Esegui la query dal componente aggiuntivo e le righe combinate vengono visualizzate nel foglio, aggiornate su richiesta.
- Airtable, Smartsheet, Baserow, SeaTable e Anvil — Le sincronizzazioni programmate trasferiscono i dati combinati nello strumento che il tuo team già utilizza.
- Nova AI — Poni una domanda in linguaggio semplice e ottieni query SQL su ogni file, con un grafico.
- Claude, Cursor, ChatGPT e Grok — tramite il server Query Streams MCP, un assistente AI può interrogare direttamente la cartella.
- API REST — Trasforma la tabella combinata in un endpoint per un partner o un'applicazione interna.
E poiché si tratta di un connettore standard, la tabella CSV combinata si unisce agli altri dati. Una cartella di esportazioni di spedizioni può essere unita alla tabella degli ordini in PostgreSQL e ai pagamenti Stripe con un'unica istruzione di sola lettura, senza dover prima caricare nulla in un data warehouse.
Domande frequenti
Come posso unire più file CSV in un'unica tabella? +
vendite_*.csvOgni file corrispondente diventa parte di un'unica tabella SQL. Nulla viene unito in un nuovo file: la cartella viene interrogata nella sua posizione originale, quindi i file aggiunti successivamente vengono inclusi automaticamente.
Quanti file CSV è possibile combinare contemporaneamente? +
Tutti i file CSV devono avere le stesse colonne? +
È in grado di gestire file delimitati da punto e virgola, tabulazione o barra verticale? +
Perché i caratteri accentati vengono visualizzati in modo errato quando unisco file CSV in un'altra posizione? +
codifica.
I valori delle valute rimarranno accurati? +
Cosa succede quando viene aggiunto un nuovo file CSV alla cartella? +
file_eventi.
Posso sapere da quale file proviene una riga? +
_source_file colonna che nomina il suo file e un _row_id unico in tutta la tabella. Raggruppamento per _source_file Fornisce il conteggio delle righe e i totali per ogni file, che di solito è il modo più rapido per individuare l'esportazione responsabile di un dato che sembra errato.
I miei file CSV sono stati caricati o modificati? +
Iniziare
Smetti di unire manualmente i file CSV
Indica all'agente la cartella una sola volta ed esegui una query su ogni esportazione come un'unica tabella, da Microsoft Excel, Fogli Google, Airtable o dal tuo assistente AI. I nuovi file vengono aggiunti automaticamente e i tuoi dati non escono mai dalla tua rete.
Guide correlate: Come interrogare una cartella di file con SQL | Scarica l'agente Query Streams | Tutte le guide di File Set Connector
Categoria: Connettori per set di file
Tag: unire file csv, combinare file csv, unire più file csv in uno solo, connettore per cartelle csv, interrogare csv con sql, csv in excel, codifica csv
Meta Description: Unisci più file CSV in un'unica tabella SQL in tempo reale. Nessuna unione, nessun caricamento, i nuovi file vengono aggiunti automaticamente.

