当前位置:编程学习 > C#/ASP.NET >>

csv文件处理

有个数据包(csv文件格式)非常大(1.6G),我需要把里面的数据处理后存储到数据库中。
现在的问题是因为这个文件太大无法打开,程序读取会内存溢出。
求处理方法。 --------------------编程问答-------------------- http://bbs.csdn.net/topics/350230269 --------------------编程问答-------------------- 第一种:加内存。
第二种:手动拆分csv 分别读取。
第三种:文件流分段处理。
--------------------编程问答-------------------- 可以自己写一个CSV解析,几十行就可以了。
CSV解析中用StreamReader来ReadLine。StreamReader不用把文件全部放入内存。 --------------------编程问答-------------------- 一行一行的读就好了 --------------------编程问答-------------------- StreamReader来ReadLine,一行一行来读取 --------------------编程问答-------------------- 一行一行读取只能用于一次性操作,这文件只是一个样本,还有更大的数据文件,不可能一次操作完的。
有没有办法记录一行的标识,下次读取从这个标识开始读?
分块读可以记录,但是会破坏格式 --------------------编程问答-------------------- C#的话直接用StreamReader一行行读取,并一行行插入数据库,不要把文件内容全部加载。
Sqlserver的话可以用bcp命令直接将这个csv文件导入到数据库中,非常简单快速。
Oracle 的话可以用utl_file.fopen打开csv文件,逐行导入到数据库中,也很快。
MySQL的话可以用LOAD DATA INFILE语法读取csv文件并导入到数据库中,非常快。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,