2014-06-10 32 views
0

我有一個從vb.net程序導出的CSV文件。我有幾個字段,我手動鍵入數據,然後重新保存CSV(從Excel)。每當我從Excel中保存CSV時,都會從每列中刪除「」。如何在不破壞CSV格式的情況下手動編輯CSV文件?Excel遺址CSV

回答

2

字段周圍的引號不是必需的,只有當字段包含某些字符時才需要。嚴格來說,該文件仍然是有效的CSV文件,並且完全不會被破壞。

Excel會將整個CSV加載到內存中,完全忘記格式並寫入一個全新的文件。我沒有辦法保留CSV文件的現有格式。

This thread on SuperUser鏈接到一些宏可能會幫助你。

+1

除非有在一列的空間,那麼在導入時,它將空間視爲下一列。渲染我的csv文件無用 – Shmewnix

+0

然後導入程序是錯誤的。空格不是分隔符。 – GolezTrol

+0

我沒有能力更改進口商。 – Shmewnix

1

CSV是純文本文件(逗號分隔值),因此它們不需要任何特定的編輯器。

您可以使用Windows記事本完成這項工作,但其他高級編輯器將更容易使用(嘗試使用NotePad ++,這將允許您保存以前的查找和替換命令)。

根據您的Excel版本,我認爲您可以對其進行配置,使其不會刪除引號。

或者,您可以直接在Excel中添加引號,CSV輸出將會有3個引號來分隔所有字段,但這可能是解決您的問題的一種方法。

+1

我在這裏得到了Excel2010,但是我找不到任何不刪除引號的保存選項。 – GolezTrol

+0

在2010年找不到它。保存爲非excel格式時,有一個選項可供選擇。 –

0

Excel不支持(afaik)詳細指定數據應如何導出爲CSV(例如,使用什麼分隔符,編碼等等)。訪問確實。所以,你可以做的是,首先將CSV文件導入到訪問中,確保指定源文件中使用的分隔符/封裝,然後使用Access的更高級的「導出到文本」方法將數據導出到文件中所需的編碼和封裝。

您應該瞭解,正如@GolezTrol所述,Excel不會「打開」CSV文件。它會加載它們並使用默認設置將它們轉換爲Excel文件,並在保存時使用默認設置將它們導出到文件。這些默認設置可能會導致數據損壞。因此,您不應該使用Excel來編輯和保存數據,並且應該只在您使用導入方法時使用它來讀取數據,而不是使用默認設置。

我已經在常見問題和圍繞純文本數據文件的誤解,以及如何避免數據損壞和他們一起工作時,深入的文章寫的:http://theonemanitdepartment.wordpress.com/2014/12/15/the-absolute-minimum-everyone-working-with-data-absolutely-positively-must-know-about-file-types-encoding-delimiters-and-data-types-no-excuses/