C# – 比较两个CSV文件并提供输出
需要一些帮助,我有两个信息来源,信息被不同的程序导出到两个不同的CSV文件。 它们应该包含相同的信息,但这是需要检查的内容。
因此,我想做的是如下:
文件是200,000个奇数行,因此需要尽可能有效。
尝试用Excel做这件事但事实certificate太复杂了,我真的很难以编程方式找到一种方法。
假设文件确实应该是相同的 ,直到文本限定符,行的排序和每个文件中包含的行数,最简单的方法可能是简单地迭代两个文件并比较每一行。
using (StreamReader f1 = new StreamReader(path1)) using (StreamReader f2 = new StreamReader(path2)) { var differences = new List(); 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."); } }
根据您对问题的评论的答案,如果不需要完成代码,您可能会比下载比较工具更糟糕,这可能更复杂。
(例如Winmerge )
好的,对于其他任何人来搜索并发现这一点。 这是我的答案。
我将详细信息导出为CSV,并在导出时以数字方式对其进行排序以方便使用。 一旦将它们导出为两个CSV文件,我就会使用一个名为Beyond Compare
的程序,可在此处找到。 这允许比较文件。
起初我手动使用Beyond Compare来测试我导出的内容是否正确等,但Beyond Compare确实能够使用命令行进行比较。 然后,这会以编程方式完成所有操作,所有必须完成的操作是用户在Beyond Compare
查看结果。 您可以将它们导出到另一个CSV,我看起来并不像Beyond Compare
的GUI非常好用,所以使用它更容易。
上述就是C#学习教程:C# – 比较两个CSV文件并提供输出分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/959069.html