在C#中合并不同列和行的两个CSV文件,可以按照以下步骤进行操作:
using System;
using System.IO;
using System.Linq;
public static void MergeCSVFiles(string file1Path, string file2Path, string mergedFilePath)
{
// 读取第一个CSV文件的内容
var file1Lines = File.ReadAllLines(file1Path);
// 读取第二个CSV文件的内容
var file2Lines = File.ReadAllLines(file2Path);
// 合并两个CSV文件的表头
var mergedHeader = string.Join(",", file1Lines[0], file2Lines[0]);
// 合并两个CSV文件的数据行
var mergedData = file1Lines.Skip(1)
.Zip(file2Lines.Skip(1), (line1, line2) => $"{line1},{line2}");
// 将合并的表头和数据行写入新的CSV文件
File.WriteAllLines(mergedFilePath, new[] { mergedHeader }.Concat(mergedData));
}
string file1Path = "path/to/file1.csv";
string file2Path = "path/to/file2.csv";
string mergedFilePath = "path/to/merged.csv";
MergeCSVFiles(file1Path, file2Path, mergedFilePath);
这样,两个CSV文件的内容将被合并到一个新的CSV文件中,新文件的表头将包含两个文件的列名,数据行将包含两个文件的对应行数据。
注意:以上代码仅适用于两个CSV文件具有相同的行数和列数的情况。如果两个文件的行数或列数不同,需要根据具体需求进行适当的处理。
领取专属 10元无门槛券
手把手带您无忧上云