我有一个超过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