如何比较2的.csv文件,并创建包含来自CSV文件的部分新的.csv? [英] How to compare 2 .csv files and create a new .csv containing parts from both csv files?

查看:150
本文介绍了如何比较2的.csv文件,并创建包含来自CSV文件的部分新的.csv?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想比较的CSV文件的两个特定部分。

I am trying to compare two specific parts of CSV files.

JobStart.csv
test1;test2;test3;test4;Val2Compare2;test5;test6;test7....

Datafile.csv
line 1   Val2Compare1; data1;data2;data3;data4;data5;data6
line 2   Val2Compare2; data1;data2;data3;data4;data5;data6
line 3   Val2Compare3; data1;data2;data3;data4;data5;data6






我想要做的是:


What I want to do is:

比较值:JobStart.csv Val2Compare2到

Compare values: JobStart.csv Val2Compare2 to

     Datafile.csv          Val2Compare1
                           Val2Compare2
                           Val2Compare3
                           ...

当我哪一行是真(在这种情况下,第2行)。然后我想JobStat.csv和Datafile.csv结合起来,像这样:

When I got which line is true (in this case line2). Then I want to combine JobStat.csv and Datafile.csv like so:

NEW JOBSTART.CSV


test1;test2;test3;test4;Val2Compare2;test5;test6;test7; data1;data2;data3;data4;data5



我想看看:

I tried to look at:

使用C#比较两个csv文件

比较两个CSV文件中的特定列

比较2 CSV文件,并替换更新的值

http://social.msdn.microsoft.com/Forums/vstudio/en-US/3f334045-2ac7-44b9-afaa-bd8d83c8ef27/read-csv-file-and-get-specific-column-from-each直插式?论坛= csharpgeneral

但无法得到太多的帮助。

But couldn't get much help.

推荐答案

试试这个:

var jobStartLine = File.OpenText(@"JobStart.csv").ReadLine();
var comparisonField = jobStartLine.Split(';')[4];

foreach (var line in File.ReadAllLines(@"Datafile.csv"))
{
    var fields = line.Split(new char[] {';'}, 2);
    if (comparisonField == fields[0])
    {
        File.WriteAllLines(@"NewJobStart.csv", new string[] { jobStartLine + ";" + fields[1] });
        break;
    }
}

这篇关于如何比较2的.csv文件,并创建包含来自CSV文件的部分新的.csv?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆