首页 > 解决方案 > 使用 C# 将数据拆分为 csv 中的两列

问题描述

我想将表数据拆分为 CSV 中的两列。我有一个表,其中一列(例如 pincode)有 100 条记录。使用 c# 我创建了 csv 文件,但我想将此记录分成两列(例如 pincode1、pincode2)。

任何人都可以建议我们如何实现这一目标?

提前致谢

这是代码

var pincodes= DataSourceAccess.RetrieveLockedTns(Convert.ToInt32(count));
if (pincodes?.Count() > 0)
{
     var csv = new StringBuilder();
     pincodes.ForEach(x => csv.AppendLine(x));
     File.WriteAllText(path, csv.ToString());
}

让我们考虑一下我从数据库中获取的 10 条记录,它产生的数据是一个带有 pincode 的 csv 文件

 12345  
 23455  
 34543  
 22345
 24554  
 23857 
 57485  
 94859  
 93846  
 47395

结果我想要一列中的前 5 条记录(pincode1)和其他列中的其他 5 条记录(pincode2)

pincode1 pincode2
12345     23857
23455     57485
34543     94859
22345     93846
24554     47395

标签: c#csvdatatable

解决方案


我认为一个简单的 for 循环将最好地解决这个问题,而不是 foreach

int half = pincodes.Count/2;
for(int x = 0; x < half; x++)
    csv.Append(pin[x]).Append('\t').AppendLine(pin[x+half]);

推荐阅读