Come si forza excel a citare tutte le colonne di un file CSV?
Excel pone solo le virgolette attorno a certi campi, come si forza excel a salvare un file CSV con le virgolette attorno ad ogni colonna?
Excel pone solo le virgolette attorno a certi campi, come si forza excel a salvare un file CSV con le virgolette attorno ad ogni colonna?
Se aprite il file XLS in LibreOffice o OpenOffice, poi Save As….e scegliete Text CSV, questo genera un file CSV che include anche le virgolette come delimitatori. Ad esempio “Smith”, “Pete”, “Canada” “Jones”, “Mary”, “England”
Basta selezionare la casella “Cita tutte le celle di testo”:
Per poter citare anche i campi numerici, evidenziare l'intervallo di celle e modificare la formattazione delle celle in “testo” prima di salvare.
Questa pagina ha anche la soluzione che viene direttamente dalla bocca del cavallo: http://support.microsoft.com/kb/291296/en-us &003
Se il link si degrada, l'argomento da cercare è:
“Procedura per esportare un file di testo con delimitatori sia di virgola che di citazione in Excel” e/o “Q291296”
tl;dr: utilizzare la loro macro
Ho trovato questa facile soluzione:
"''"@"''"
(vedere i dettagli qui sotto) La stringa che si sta incollando è "''"@"''"
che è doppia citazione, singola citazione, singola citazione, doppia citazione, simbolo @, doppia citazione, singola citazione, singola citazione, doppia citazione.
Modificato per Excel 2010 dalle informazioni trovate qui .
Evidenziare le celle che si desidera aggiungere le virgolette. Andare in Formato -> Celle -> Copia/Incolla personalizzato quanto segue nel campo Tipo: \”@\” Clicca “ok” Sii felice di non aver fatto tutto a mano.
Da: http://www.lenashore.com/2012/04/how-to-add-quotes-to-your-cells-in-excel-automatically/
Questo è stato il più facile per me: Ho importato il foglio di calcolo in Access 2010 e da lì l'ho esportato come file di testo delimitato. Mi ha dato le virgolette intorno ai miei campi. Ci vuole meno di un minuto per 42k righe ora che ho i passi indietro.
Ho trovato un altro lavoro intorno al quale non è coinvolta la Macro VBA, ma che richiede Notepad++ o un editor di testo simile basato su macro.
Esportare il file come testo a schede, quindi aprire il file esportato all'interno di Notepad++. Sostituire tutte le istanze del carattere ‘tab’ con il testo “,” (cioè letteralmente doppia virgola, virgola, doppia virgola) e poi usare un'altra macro per prefissare e suffissare ogni riga di testo con una doppia virgola.
Un po’ saltellante ma l'ho trovato più veloce che far funzionare una macro VBA.
"''"@"''"
(vedi dettagli sotto) ' '
(citazioni singole ripetute) con "
(citazioni doppie) ;
Se si utilizza Notepad++ per aggiungere le virgolette all'inizio di ogni riga, basta aprire il file csv esportato, posizionare il cursore sulla 1a riga, 1a colonna, quindi fare clic sul menu Modifica / Editor colonne… , nel campo ‘ Testo da inserire’, inserire “ , quindi l'inizio di ogni riga avrà una citazione, quindi è possibile utilizzare l'espressione regolare per cercare/sostituire tutte le schede.
L'esportazione di stringhe separate da virgola e citate può essere effettuata solo con Excel 2016 e Notepad, utilizzando una copia dei dati, una formula, un'esportazione, una modifica delle proprietà del file, una sostituzione nel Notepad, il salvataggio del file esportato e la pulizia. Ognuna di queste operazioni è un semplice passo. In dettaglio:
=concat("#",trim(A1),"#")
, mettendo la formula su tutte le righe di un'altra colonna. Copiare le colonne da esportare in un nuovo foglio intermedio per conservare l'originale e come backup, con il nuovo foglio di calcolo da cancellare in seguito per lasciare il foglio di calcolo così com'era. 3. Copiare la nuova colonna (o le nuove colonne) su A…, usando il metodo ‘123’ in modo da non portare la formula.
Usare Notepad per sostituire il/i carattere/i arbitrario/i con ‘ “ ”. 7. Anche se sembrerebbe sensato usare “ come carattere arbitrario, deve essere messo in una cella diversa, diciamo ’$A$50’, e poi quello che appare sull'esportazione è ‘ ” “. "8. Nel blocco note il file dovrebbe essere salvato, diventando un file *.txt da importare e l'intermedio *.csv cancellato.
Nel blocco note il file dovrebbe essere salvato, diventando un file *.txt da importare e l'intermedio *.csv cancellato.
Nel blocco note il file dovrebbe essere salvato, diventando un file *.txt da importare e l'intermedio *.csv cancellato.
Nel blocco note il file dovrebbe essere salvato. 9. Con la pulizia del foglio di calcolo extra missione compiuta.
Forse gli strumenti di esportazione di Access possono un giorno essere incorporati in Excel. Un approccio più generico tra i programmi che utilizzano il taglio e l'incolla, sarebbe quello di avere le opzioni di incolla che includono una scelta di modi per interpretare la struttura di output e fornire delimitatori.
Un altro modo se si dispone di accesso MS (ho ver 2007) importare il file e poi esportarlo come file di testo. Poi cambiare il file .txt in .csv. Notate che tutti i campi numerici non avranno doppie virgolette intorno ad esso, quindi se avete bisogno di doppie virgolette anche intorno ai numeri, mentre in Access cambiate il campo da un campo numerico ad un campo di testo.
Per gli utenti Windows
Nota questa non è la stessa citazione da tastiera che ha una varietà avanti e indietro.
Quindi se si utilizza CSV per caricare nella tabella Mysql, tagliare e incollare nel parametro ENCLOSED altrimenti vi chiederete perché si ottiene il messaggio #1083 - Field separator argument is not what is expected
Ho usato l'approccio sottostante per prendere tre colonne in Excel e costruire la stringa nella quarta colonna.
=CHAR(34)&A2&CHAR(34)&","&CHAR(34)&B2&CHAR(34)&","&CHAR(34)&C2&CHAR(34)&""
``` &001
Il mio problema con l'approccio `"''"@"''"` è che la seconda colonna dei miei dati era un numero che l'approccio `"''"@"''"` non faceva nulla con i numeri. A volte la seconda colonna è vuota, ma dovevo assicurarmi che fosse rappresentata nel file di testo finale.
Questa è la mia ricetta. Odio doverlo fare, ma non ho trovato un modo migliore. Nel mio caso, non ricevo citazioni in nessun campo. Avevo anche bisogno di usare la codifica UTF-8 e ; al posto delle schede, così ho finito per fare questo.
NOTA: a causa dell'illeggibilità di mettere doppie virgolette racchiuse da singole virgolette e così via, ho usato volutamente la “formattazione da tastiera” per indicare sia le battute che i caratteri letterali e le stringhe.
Ecco come utilizzare l'applicazione OpenOffice per prendere un foglio di calcolo Excel e creare un file di testo (csv) con le virgolette attorno ad ogni campo di testo.
Aprire il file Excel con OpenOffice, quindi seguire questi passi:
File > Salva con nome
Fornire un nuovo nome per il file che si sta per creare
Per Filetype, scegliere “Test CSV (. csv)”
attivare la casella di controllo “Modifica impostazioni filtro”
fare clic su “Salva”
scegliere “Mantieni formato corrente”
Il delimitatore di campo dovrebbe essere una virgola:
Il delimitatore di testo dovrebbe essere una virgola: “
selezionare la casella "Cita tutte le celle di testo”
cliccare “OK”
Questo ha funzionato per me!
Mi sono imbattuto in questo problema molte volte. Ecco la soluzione più semplice che mi è venuta in mente.
Access vi permetterà di specificare il delimitatore di esportazione come virgola e i campi di testo qualificanti con le virgolette. Nell'export wizard, potete specificare qualsiasi delimitatore o carattere intorno alle stringhe desiderate.
Potrebbe essere necessario creare una query di Access per organizzare i campi in un particolare ordine o nascondere il campo auto-ID aggiunto da Access.
Inoltre…. una volta esportato in un CSV, NON apritelo più in Excel. Se volete vedere i risultati, apritelo in blocco note. Excel ha la tendenza a pasticciare con i dati di un csv….. Penso che sia stato riempito di campi con zeri iniziali, se mi ricordo bene.