我试图找出一些使用大型数据文件的最佳方法。我有一个场景,我将有几个CSV文件,其中我希望能够查询数据。我将逐行读取一个csv文件,但我需要能够根据当前正在阅读的行中的一个键来查询第二个CSV文件。我不想(至少我不认为)将整个CSV加载到内存对象中,因为它们可能是数百万行,并且会占用大量内存。我曾考虑过将它们写入某种数据库文件,但由于您本质上复制了数据,因此效率不高。有什么建议么?使用大型csv文件
0
A
回答
-1
您可以尝试OleDb,使用数据适配器在数据表中加载数据,并对其执行查询。这link解释
String conn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\;
Extended Properties=""Text;HDR=No;FMT=Delimited""";
OleDbConnection cn = new OleDbConnection(conn);
OleDbCommand cmd = new OleDbCommand(@"SELECT * FROM C:\Temp\teams.csv", cn);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
cn.Open();
DataTable dt = new DataTable();
da.Fill(dt);
+0
答案没有考虑OP对RAM使用情况的担忧。 – Aron
+0
@Suresh将它加载到内存中并不是真正的选择。这些文件可能有1-2列,30列。看来,把他们扔到数据库上是我最好的选择。 – collinszac10
+0
我明白了,是的,在这种情况下,上述解决方案将无法正常工作。 – Suresh
相关问题
- 1. 使用phpMyAdmin导入大型csv文件
- 2. 阅读大型csv文件
- 3. 阅读大型CSV文件
- 4. 导入大型CSV文件
- 5. 打开大型CSV文件?
- 6. 合并大型csv文件
- 7. 用Python处理大型csv文件
- 8. 熊猫适用于大型csv文件
- 9. 庆典更新庞大的CSV文件,从另一家大型csv文件
- 10. Rails 4:解析大型csv文件
- 11. 读取R中的大型csv文件
- 12. Split scrapy的大型CSV文件
- 13. 在Java中读取大型CSV文件
- 14. 将大型csv文件读入R
- 15. 在PHP中读取大型CSV文件
- 16. 如何下载大型CSV文件?
- 17. java.lang.OutOfMemoryError处理大型CSV文件时
- 18. PHP排序大型csv文件
- 19. 从大型CSV文件导入数据
- 20. NodeJS,promise,streams - 处理大型CSV文件
- 21. 导入大型CSV文件导入Gephi
- 22. 将大型csv文件导入到mysql
- 23. Excel,发布编辑大型csv文件
- 24. 如何使用Python将大型xml文件转换为csv
- 25. 使用PowerShell将大型csv文件导入到Excel中
- 26. 使用Python编写大型CSV文件的最快方法
- 27. 使用python查找大型.csv文件中的行数
- 28. 使用内部连接合并2个大型csv文件
- 29. 使用缓冲读取器的大型.csv文件,Python
- 30. 使用熊猫在大型csv文件中查找平均值
打开需要进行逐行读取在25%块在不同的线程 – prospector
可能是你可以考虑运行将您的CSV文件数据库后台服务的人。那么你可以很容易地让SQL查询 – Saravanan
的要求不明确,也许你只需要第一个CSV的单行做查询,如果是这样的话'StreamReader.ReadLine()'就足够了。如果您确实需要100万行的所有密钥来执行查询,那么您没有更好的选择。 – kennyzx