有效地连接多个CSV文件保持头从第一个文件在c#

本文关键字:文件 第一个 连接 CSV 有效地 | 更新日期: 2023-09-27 18:05:19

给定多个CSV文件,每个文件可能有数百兆字节或更多。它们都以相同的头行开始文件,并且每行末尾都有CRLF。每个文件的末尾可能有也可能没有一个CRLF。目标是:

  1. 加入文件列表
  2. 保留第一个文件的头文件
  3. 输出到新文件
  4. 这些文件可能有数千列和数百万行。
  5. 文件必须按照给定的顺序处理,并且行顺序是重要的。

考虑到文件的大小,这需要尽可能快速和高效地使用内存。

有效地连接多个CSV文件保持头从第一个文件在c#

如果头是相同的,那么您可以打开一个写流,然后遍历所有输入文件,为它们打开读流并复制数据。第一个文件被完整地复制。后续的文件会跳过第一行。

这种方法将是最快的,只要你100%确定列对齐,只有第一行需要跳过。

这类事情在unix风格的命令行中是非常简单的,顺便说一句。