我應該如何處理此 CSV 文件中的換行符,以便將其正確匯入資料庫或電子表格中?

我應該如何處理此 CSV 文件中的換行符,以便將其正確匯入資料庫或電子表格中?

我有一個從專有電子健康記錄資料庫系統匯出的 .csv 檔案。我是他們服務的訂閱者,但在結束訂閱後,這就是我保留資料並將其遷移到另一個系統的方式。簡而言之,我需要將其匯入資料庫或電子表格,以便我可以使用 Word 郵件合併以可讀格式重新建立醫療記錄文件並將其列印出來。

問題是,當我直接使用 Excel 開啟檔案或使用 Access 匯入檔案時,許多資料欄位條目中存在格式化換行符,這些換行符被誤解為記錄分隔符。這會導致 Excel 或 Access 在條目中間開始一個新行,這當然會把事情搞砸。當我用 Notepad ++ 開啟檔案並開啟「顯示所有字元」時,我可以看到真正的記錄分隔符號換行符是 CR LF 符號,但條目中的格式換行符本身就是 LF 符號。透過一些快速閱讀,我了解到包含換行符的 CSV 資料欄位條目理想情況下應該用雙引號引起來,但我的文件中的條目則不然,所以我認為這就是問題的根源。

我該如何解決這個問題?有沒有辦法使用 Access、Excel 或任何開源程式使其將 LF 本身呈現為資料欄位條目中的格式化換行符?您能否將單獨的 LF 轉換為其他換行符類型,以便正確渲染它們?即使它只忽略前面沒有 CR 的 LF,那麼也許當我稍後使用 Word 郵件合併輸出文件時,它會將 LF 正確呈現為換行符?我認為可行的另一種可能性是執行某種查找/替換操作,將所有單獨的 LF 替換為另一個字符,直到將其導入資料庫,然後在資料庫中將該字符替換為適當類型的換行符或者在我透過郵件合併建立文件之後。或者是否有某種類型的查找/替換操作可以將包含單獨 LF 的每個字段條目括在雙引號中?哎呀,即使有一種方法可以非選擇性地將文件中的每個資料欄位條目用雙引號引起來,它仍然應該有效,對吧?我只是不確定從這裡開始的最簡單方法並感謝任何建議。

答案1

在notepad++中,正規表示式「[^\r]\n」將會符合LF,但不符合CRLF。現在將其替換為您想要的任何內容。這回答有有用的信息。

答案2

如果 CSV 被正確引用,即所有可能被解釋為分隔「單元格」的內容都用雙引號引起來,那麼自由辦公室應該做這項工作。 (YMMV) 參見維基百科有關 CSV 格式的說明。

相關內容