Modifica file CSV con Excel senza riformattare


4

Ho alcuni file di dati CSV che assomiglia a questo

1,2,3

5,6,7

Lo apro con Excel 2010, eseguo alcune modifiche (modifica qualche valore, cancella una colonna o altro), quindi ri-salva il file ancora come csv. Ma ora i dati diventano

1,2,3
,,
5,6,7

dove la riga vuota nel mezzo ora è riempita con una riga di campi vuoti separati da una virgola. So che questa non è una grande differenza in questo esempio, ma diventa davvero fastidioso quando ho il codice per lavorare con questi due diversi formati. C'è un modo per impedire a Excel di modificare il formato? O c'è un altro programma che posso modificare facilmente file CSV?


La domanda è più potente di quanto sembri (in realtà penso che la domanda sia mal posta). Se qualcuno conosce un editor CSV non Excel, si prega di inviare una risposta! È davvero fastidioso quando Excel cerca di cambiare una data in un formato numerico, o prova a cambiare un numero di telefono in un esponenziale. Per i veri scopi di manipolazione dei dati, Excel è uno strumento molto scarso per gestire CSV.
cartbeforehorse

Risposte:


1

Una riga vuota in un file CSV significa che non è conforme alla sintassi utilizzata nella maggior parte, se non in tutte le implementazioni CSV. Puoi leggere a riguardo in RFC 4180 :

Ogni riga deve contenere lo stesso numero di campi in tutto il file.

Quali output di Excel sono in realtà la rappresentazione corretta di una riga vuota, poiché un file CSV ha sempre lo stesso numero di colonne. Non sarai in grado di utilizzare un altro editor CSV, dato che produrranno tutti o un formato CSV standardizzato o potrebbero non essere nemmeno in grado di leggere correttamente il tuo file. Potrebbero saltare la riga vuota o inviarla come Excel.

Ecco alcune possibili soluzioni:

  • Non è possibile modificare il modo in cui Excel salva i file CSV. Se vuoi rompere una farfalla su una ruota devi scrivere il codice VBA per esportare manualmente il tuo file.

  • Modifica i file CSV originali in modo che non contengano righe vuote.

    Se hai bisogno di righe vuote per identificare dati non contigui o tabelle separate, valuta la possibilità di creare file CSV separati per ciascuna parte o di rendere l'identificatore della tabella un'altra colonna nel CSV per ottenere una rappresentazione tabulare corretta.

  • Cambia il tuo codice per lavorare con la rappresentazione di Excel e quindi seguire gli standard che sono stati stabiliti per CSV. Tratta semplicemente una riga con campi vuoti come vuoti.

  • Modificare i file CSV in qualsiasi editor di testo semplice (Blocco note, ecc.) Per rimuovere le righe offensive.


È grandioso È bello sapere che c'è un standard . Mi limiterò a convertire tutti i miei dati nello stesso formato utilizzato da excel.
LWZ

1

i file CSV possono essere modificati con un blocco note o un semplice editor di testo


3
Sì, ma un'operazione semplice come eliminare una colonna sarebbe molto difficile.
LWZ

0

È necessario aprire un Excel vuoto e utilizzare l'opzione di importazione da testo dalla scheda DATI.

Lì si avrà una procedura guidata di importazione, in cui è possibile selezionare la codifica, i delimitatori e il formato di ogni colonna prima dell'importazione.

Dopo la modifica, puoi salvare come CSV.


Sì, ma ciò non aiuta la domanda sul salvataggio senza virgole nelle righe vuote.
Chenmunka
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.