打开大型CSV文件?

时间:2015-07-03 20:38:15

标签: sql-server csv large-files

我有一个文件,我需要导入到MS-SQL数据库,但我无法打开它,因为我的计算机只有4 GAG的RAM ..我通常使用CSV分割器使大文件较小但它不适用于此文件(155 Gigs)

任何人都可以告诉我一种处理此文件的方法,以便导入数据库(除了购买具有更好硬件的新计算机)

谢谢

3 个答案:

答案 0 :(得分:3)

在这种情况下,我建议使用SSIS(如果可能)或更简单的小PowerShell脚本。您可以找到工作脚本herehere

两个PowerShell脚本将迭代几行并导入它们,然后将它们从内存中卸载并获取下一行。在最后一个链接中,您只需指定变量$ batchsize,它将以定义的块加载数据。

答案 1 :(得分:0)

流式CSV分割器的效率要高得多,因为它以块(字节为单位)处理文件,而不是在处理之前尝试将整个文件加载到内存中。 node-csv会这样做,但您需要安装node.js才能使用它。

https://github.com/voodootikigod/node-csv

https://nodejs.org/

答案 2 :(得分:0)

如果您的文件只是简单的逗号分隔值(没有包含逗号的列,因此包含双引号),您还可以使用BCP加载数据。如果文件中没有任何特殊内容,则使用起来非常简单。

对于更复杂的情况,SSIS可能是更好的解决方案。在导入这么大的东西时,请确保设置-b选项,以便整个文件不是一个批处理,并且根据您要使用的文件内容-c(ascii)或-w(unicode)