gpt4 book ai didi

c# - string.Join Linq 查询以合并数组中的两个字符串并输出为单个逗号分隔字符串

转载 作者:行者123 更新时间:2023-11-30 21:41:24 27 4
gpt4 key购买 nike

作为数据清理练习的一部分,我需要更正 csv 文件的格式。

由于格式不正确/缺少引号,描述字段中的额外逗号破坏了我的 DTS 包。

因此,为了解决这个问题,我创建了一个简单的 C# 脚本来查找 csv 中列数多于标题行的任何行。

当该行包含的列多于标题时,我想将数组项 [10] 和 [11] 合并为一列,然后将该行写入我的新文件 - 保持所有其他现有列不变。

代码:

    var columns = splitExpression.Split(line).Where(s => s != delimiter).ToArray();

if (headers == null) headers = new string[columns.Length];

if (columns.Length != headers.Length)
{
// TODO - Linq to write comma separated string but merge column 10 and 11 of the array
// writer.WriteLine(string.Join(delimiter, columns));
}
else
{
writer.WriteLine(string.Join(delimiter, columns));
}

不幸的是,我的Linq写作能力有些欠缺,谁能帮我填一下TODO。

最佳答案

简单地用于列列表而不是数组。这将允许您在合并后删除不必要的列:

var columns = splitExpression.Split(line).Where(s => s != delimiter).ToList();

if (headers == null) headers = new string[columns.Count];

if (columns.Count != headers.Length)
{
columns[10] = columns[10] + columns[11]; // combine columns here
columns.RemoveAt(11);
}

writer.WriteLine(string.Join(delimiter, columns));

关于c# - string.Join Linq 查询以合并数组中的两个字符串并输出为单个逗号分隔字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43381394/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com