Ho un file .csv che è stato esportato da un sistema di database di cartelle cliniche elettroniche proprietario. Ero un abbonato al loro servizio ma al termine della mia sottoscrizione è così che posso conservare i miei dati e migrarli su un altro sistema. In poche parole, devo importarlo in un database o foglio di calcolo in modo da poter quindi utilizzare la stampa unione di Word per ricreare i documenti della cartella clinica in un formato leggibile e stamparli.
Il problema è che quando apro il file direttamente con Excel o lo importazione con Access, ci sono formattazioni di nuove righe all'interno di molte voci del campo dati che vengono interpretate erroneamente come separatori di record. Questo fa sì che Excel o Access inizino una nuova riga nel mezzo della voce che ovviamente rovina tutto. Quando ho aperto il file con Notepad ++ e attivato "Mostra tutti i caratteri", posso vedere che le nuove righe del separatore di record reali sono simboli CR LF, ma le righe di formattazione all'interno delle voci sono simboli LF da sole. Da una lettura veloce ho appreso che le voci dei campi di dati CSV che contengono una nuova riga dovrebbero idealmente essere racchiuse tra virgolette doppie, ma quelle nel mio file non lo sono, quindi presumo che questa sia l'origine del problema.
Come devo fare per risolvere questo? Esiste un modo con Access, Excel o qualsiasi programma open source per renderlo da solo renderizzare gli LF come una nuova riga di formattazione all'interno della voce del campo dati? Riesci a convertire gli LF da solista in qualche altro tipo di nuova riga in modo da renderli correttamente? Anche se ignorasse solo gli LF che non erano preceduti da CR, forse quando in seguito uso la stampa unione di Word per produrre i documenti, renderebbe gli LF correttamente come newline? Un'altra possibilità che pensavo potesse funzionare era quella di fare una sorta di operazione di ricerca / sostituzione per sostituire tutti gli LF da solista con un altro carattere fino a quando non li ho importati nel database, quindi sostituire quel personaggio con il tipo corretto di newline una volta che è nel database o dopo aver creato il documento tramite stampa unione. Oppure esiste un tipo di operazione di ricerca / sostituzione che potrebbe racchiudere ogni voce di campo contenente un LF solo tra virgolette? Cavolo, anche se c'è un modo per racchiudere in modo non selettivo ogni voce del campo dati nel file tra virgolette doppie dovrebbe funzionare, giusto? Non sono sicuro del modo più semplice per procedere da qui e apprezzare eventuali suggerimenti.