gpt4 book ai didi

C# - 比较两个 CSV 文件并给出输出

转载 作者:太空宇宙 更新时间:2023-11-03 19:33:36 25 4
gpt4 key购买 nike

需要一点帮助,我有两个信息源,信息由不同的程序导出到两个不同的 CSV 文件。它们应该包含相同的信息,但这是需要检查的内容。

因此我想做的事情如下:

  • 从这两个文件中获取信息。
  • 比较
  • 输出任何差异以及差异所在的文件。(例如,文件 A 包含此内容,但文件 B 不包含此内容,反之亦然)。

文件有 200,000 行奇数,因此需要尽可能有效。

尝试使用 Excel 执行此操作,但事实证明太复杂了,我真的很难找到一种编程方式。

最佳答案

假设文件真的应该相同,直到文本限定符、行的顺序以及每个文件中包含的行数,最简单的方法可能是简单地遍历两者将文件放在一起并比较每一行。

using (StreamReader f1 = new StreamReader(path1))
using (StreamReader f2 = new StreamReader(path2)) {

var differences = new List<string>();

int lineNumber = 0;

while (!f1.EndOfStream) {
if (f2.EndOfStream) {
differences.Add("Differing number of lines - f2 has less.");
break;
}

lineNumber++;
var line1 = f1.ReadLine();
var line2 = f2.ReadLine();

if (line1 != line2) {
differences.Add(string.Format("Line {0} differs. File 1: {1}, File 2: {2}", lineNumber, line1, line2);
}
}

if (!f2.EndOfStream) {
differences.Add("Differing number of lines - f1 has less.");
}
}

关于C# - 比较两个 CSV 文件并给出输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3458355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com