将两个CSV文件合并为一个CSV文件



我需要将两个CSV文件合并为一个。

示例:CSV_FileOne

Key;Dutch
ERROR_LicenseNotFound;Error de licensie kan niet gevonden worden.
ERROR_LicenseIsEmpty;Error de licensiefile is leeg.

CSV_FileTwo

Key;Deutsch
ERROR_LicenseNotFound;Fehler die Lizenz kann nicht gefunden werden.
ERROR_LicenseIsEmpty;Fehler die Lizenzdatei ist leer.

所以结果应该是:

Key;Dutch;Deutsch
ERROR_LicenseNotFound;Error de licensie kan niet gevonden worden.;Fehler die Lizenz kann nicht gefunden werden.
ERROR_LicenseIsEmpty;Error de licensiefile is leeg.;Fehler die Lizenzdatei ist leer.

我必须这样做,因为我正在为一家荷兰公司编写程序。

我希望你能帮助我。

您可以加载您的文件,您想要组合到内存中,然后创建自己的输出文件:

using System.IO;
// reading both csv files into memory
string[] left = File.ReadAllLines(pathToFile1);
string[] right = File.ReadAllLines(pathToFile2);
// opening stream + streamwriter
using (FileStream fs = new FileStream("", FileMode.Create))
using (StreamWriter sw = new StreamWriter(fs))
{
for(int i = 0; i < left.Length; i++)
{
// in each line we take the entire line of left and append field 1 of right
sw.WriteLine(left[i] + ";" + right[i].Split(';')[1];);
}

}

请记住:这是一个快速和肮脏的解决方案。它期望两个文件具有完全相同的键顺序。你可以创建一个字典并通过键将字符串关联起来以获得一个更健壮的方法但我将留给你一些工作