C# 将列添加到CSV,并将列合并到此新列
我有一个如下的CSV文件:C# 将列添加到CSV,并将列合并到此新列,c#,csv,merge,C#,Csv,Merge,我有一个如下的CSV文件: Header1;Header2;Header3;Header4;Header5;Header6 abc;123;xyz;...;...;... 我想在此csv末尾添加一个新列,并直接将列1+2合并到此新列中: Header1;Header2;Header3;Header4;Header5;Header6;Header7 abc;123;xyz;...;...;...;abc123 我可以添加一个新列,但如何添加数据 以下是我正在使用的: static void M
Header1;Header2;Header3;Header4;Header5;Header6
abc;123;xyz;...;...;...
我想在此csv末尾添加一个新列,并直接将列1+2合并到此新列中:
Header1;Header2;Header3;Header4;Header5;Header6;Header7
abc;123;xyz;...;...;...;abc123
我可以添加一个新列,但如何添加数据
以下是我正在使用的:
static void Main(string[] args)
{
String filePath = @"C:/Data.csv";
var csv = File.ReadLines(filePath)
.Select((line, index) => index == 0
? line + ";ExtID"
: line + ";" + line.ToString())
.ToList();
File.WriteAllLines(filePath, csv);
}
如果您有一个简单的csv(不带引号),您可以尝试Linq:添加标题或拆分
行和Concat
2
项从中获取
n:
...
var csv = File
.ReadLines(filePath)
.Select((line, index) => index == 0
? line + ";ExtID" // Extra header
: line + ";" + string.Concat(line.Split(';').Take(2)) // first two items added
)
.ToList();
File.WriteAllLines(filePath, csv);
无LINQ方法
string filePath = @"C:/Data.csv";
var lines = File.ReadLines(filePath).ToList();
// Add new Column
var newColumn = ";Header7";
lines[0] = lines[0] += newColumn;
// Adds items to the new column
for (int index = 1; index < lines.Count; index++)
{
var rowItems = lines[index].Split(';');
lines[index] = $"{lines[index]};{rowItems[0]}{rowItems[1]}";
}
File.WriteAllLines(filePath, lines);
stringfilepath=@“C:/Data.csv”;
var lines=File.ReadLines(filePath.ToList();
//添加新列
var newColumn=“;Header7”;
行[0]=行[0]+=新列;
//将项目添加到新列
for(int index=1;index
就我个人而言,我从来不敢做自己的CSV解析。使用其中的一种应该是一种方法。