我有一個超過2.5GB的非常大的CSV文件,當導入到SQL Server 2005時,它在特定的行(82,449)上給出錯誤消息「Column delimiter not found
」。在VIM中保存整個文件
問題出在該列的文本中使用雙引號,在這種情況下,它是有人寫下「Transferred money to ""MIKE"", Thnks
」的註釋字段。
由於文件太大,我無法在Notepad ++中打開它並進行更改,這使我找到了VIM。
我很新的VIM和我回顧這教會了我如何更改使用82,449 G
找到線,l
到現場,x
雙引號的文件教程文件。
當我使用:saveas c:\Test VIM\Test.csv
保存文件時,它似乎是文件的一部分。原始文件爲2.6GB,新保存的文件爲1.1GB。原始文件有9,389,222行,新保存的有3,751,878行。我嘗試使用G
命令在保存之前到達文件底部,這增加了相當大的尺寸,但仍然沒有保存整個文件;在使用G
之前,該文件僅爲230 MB。
爲什麼我不保存整個文件的任何想法?
感謝您的回覆! 我想我對你的回答有點困惑。 VIM打開文件沒有問題。我去了特定的線路,並將「MIKE」改爲MIKE。當我保存文件時(使用兩種方法,:saveas和:wq)它只是原始文件的一部分。 有沒有辦法讓它打開整個事情? 通過文本翻譯的問題是,我不知道所有問題都在哪裏,直到SQL Server告訴我在X行有問題。然後我去看看X行,解決問題並繼續前進。這一次它是「」MIKE「」下一次它可能是任何事情。 – Swizanson
我可以告訴你在Windows上,但是哪個版本的操作系統?另外,請參閱[sed for Windows]的鏈接(http://gnuwin32.sourceforge.net/packages/sed.htm)。 –
Windows 7,64位 – Swizanson