【问题标题】:C# Split into multiple arraysC#拆分成多个数组
【发布时间】:2021-08-14 14:13:57
【问题描述】:

我有一种情况,我需要通过拆分逗号并将列存储在数组中来拆分 1 个 csv 文件

这是 csv 文件的一部分:

Go,noowner,nocolour,0,0,0,0,-200,0,0,0,0,0,0,1301,985
Vine Street,bank,brown,60,30,50,50,4,20,60,180,320,450,0,1190,985
Community Chest,noowner,nocolour,0,0,0,0,0,0,0,0,0,0,0,1100,985
Coventry Street,bank,brown,60,30,50,50,2,10,30,90,160,250,0,1025,985
Income Tax,noowner,nocolour,0,0,0,0,200,0,0,0,0,0,0,935,985

提前感谢您的帮助 亚历克斯

【问题讨论】:

  • 你能分享更多细节吗?你想得到什么样的输出?
  • 感谢您的回复,我希望将第一列(名称)存储在一个数组中,然后存储在另一个数组中的另一列(所有者)中,然后存储在数组中的另一列(颜色)中。希望这是有道理的
  • @Alex.Duffield12:为什么要将每一列存储在一个单独的数组中,该数组只包含一个字符串?您可以通过索引访问单个数组中的每个信息,例如fieldArray[0] 返回名称,fieldArray[1] 返回所有者。 (相应地在下面编辑my answer

标签: c# arrays csv split


【解决方案1】:

所以没有标题?只需选择所有行并用逗号分隔它们:

string[][] allLinesFields = File.ReadLines(path)
    .Select(line => line.Split(','))
    .Where(array => array.Length == 16)
    .ToArray();

您可以通过索引访问所有信息,例如:

string nameOfFirstLine = allLinesFields[0][0];
string ownerOfFirstLine = allLinesFields[0][1];
string colorOfFirstLine = allLinesFields[0][2];
// and so on...

或使用循环迭代所有:

foreach(string[] fields in allLinesFields)
{
    string name = fields[0];
    string owner = fields[1];
    string color = fields[2];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    • 2014-08-14
    • 2016-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多