동일한 헤더 이름을 가진 여러 열이있는 CSV 파일이 있습니다. CsvHelper 라이브러리를 사용하고 있습니다. 하나의 목록으로 행 값을 수집하고 싶지만 다른 인덱스 위치에서 수집하지 않고 지정된 헤더를 여러 번 사용하여 첫 번째 행 값을 수집합니다. 예. COLUMN COLUMN 열 Test1 Test2 Test3 Test4 내 목록에 값이 Test1, Test2 인 두 번째 요소가 있고 두 번째 요소의 값이 Test3, Test4 인 것으로 예상되지만 첫 번째 행의 값은 Test1, Test1 및 두 번째 Test3, Test3입니다.CSV 도우미 여러 개의 동일한 열 이름
이이이 매핑을 수행 할 수 있습니다이 열
Map(m => m.COLUMN).ConvertUsing(row =>
(row as CsvReader)?.FieldHeaders
.Where(header => header.StartsWith("COLUMN"))
.Select(header => row.GetField<string>(header))
.Where(value => !string.IsNullOrWhiteSpace(value))
.ToList()
);
에 대한 매핑? 열 이름을 COLUMN1 및 COLUMN2로 변경하면이 방법이 작동하지만 내 문제의 해결 방법이 아닙니다.
에서 Test1 및 Test2를 값은 첫 번째 행에 있고 테스트 3과 테스트 4 번째 – user3690217