0

我有两个 csv 文件,每个文件有 18 列...我想用 c# 将第一个文件的第一列与第二个文件的第一列进行比较,将第一个文件的第三列与第二个文件的第三列进行比较,当发现差异时,我想保存到另一个文件,所以第三个文件应该有两列作为输出。所以我需要以某种方式告诉哪一列是第一列,哪一列是第三列,然后进行比较。

有什么建议我怎么能做到这一点?

4

2 回答 2

1

基础是逐行读取每个文件,然后拆分每个字符串。对于 CSV 文件,您通常使用逗号作为分隔符,但这也可以是制表符或类似的字符。所以使用你拥有的那个。然后你会得到类似的东西

        string line;
        System.IO.StreamReader file = new System.IO.StreamReader("c:\\test.csv");
        while ((line = file.ReadLine()) != null)
        {
            var arr = line.Split(new char[] { ',' });
            // do your comparison
        }

虽然你需要打开 2 个文件。然后,您可以将文件 1 中的数组与文件 2 中的数组进行比较(数组索引 == 列,从 0 开始)。类似地,您可以使用 String.Join 再次创建输出。

于 2012-08-09T10:06:07.520 回答
0

将 2 个 excel 表浏览到 2 个数据表。Comapre 2 个表,如果有差异,请将其放入新表中。

最后将表格导出到 Excel。

于 2012-08-09T10:06:28.553 回答