如何使用C#将CSV文件指定列的所有行内容拼接为单个字段
C# 读取CSV第一列拼接实现方案
方案1:使用CsvHelper(推荐,适配复杂CSV格式)
CsvHelper是.NET生态中常用的CSV处理库,可自动处理带逗号、引号、换行的单元格等边界场景。
- 第一步:安装NuGet包
Install-Package CsvHelper - 第二步:业务代码实现
using System.Globalization; using CsvHelper; using CsvHelper.Configuration; // 配置CSV读取规则 var config = new CsvConfiguration(CultureInfo.InvariantCulture) { // CSV有表头则设为true,无表头设为false HasHeaderRecord = true, }; var firstColumnValues = new List<string>(); using (var reader = new StreamReader("你的CSV文件路径.csv")) using (var csv = new CsvReader(reader, config)) { while (csv.Read()) { // 读取索引为0的第一列 var firstColValue = csv.GetField<string>(0); if (!string.IsNullOrWhiteSpace(firstColValue)) { firstColumnValues.Add(firstColValue); } } } // 拼接为目标格式 var result = $"Name = {string.Join(", ", firstColumnValues)}"; Console.WriteLine(result);
方案2:原生.NET实现(无第三方依赖)
仅适合第一列无逗号、引号等特殊字符的简单CSV格式:
var firstColumnValues = new List<string>(); var csvLines = File.ReadAllLines("你的CSV文件路径.csv"); // 如果CSV有表头需要跳过,将i的初始值设为1即可 for (int i = 0; i < csvLines.Length; i++) { var line = csvLines[i].Trim(); if (string.IsNullOrEmpty(line)) continue; var firstColValue = line.Split(',')[0].Trim(); if (!string.IsNullOrWhiteSpace(firstColValue)) { firstColumnValues.Add(firstColValue); } } var result = $"Name = {string.Join(", ", firstColumnValues)}"; Console.WriteLine(result);
内容的提问来源于stack exchange,提问作者wassimremmas
相关产品推荐
相关产品推荐

