例如,我使用的是CsvHelper,现在无法解决具有标题名称和列数的CSV格式的问题
A列,B列,C列,您的姓名,您的姓名
也可以是格式
A列,B列,C列,option1,option2,name_Will,name_John
A列,B列,C列,选项1,name_Anna,name_Peter
option1,option2,option3,...是可选的。 有时,csv有更多选项4,5,6 ...
我正在读取带有类映射和索引的标头,但无法解决此问题。
由于name_Your_name列的名称不是固定的,所以我将Index = 4分配给我,但是如果之前出现option1,option2,...,则索引将不正确。
我想找到name_Your_name,name_His_name(name_Will,name_John,name_Anna ...)列的索引,对此有什么解决方案吗?
谢谢
Map(m => m.option1).Name("option1").Optional();
Map(m => m.option2).Name("option2").Optional();
Map(m => m.name_1).Index(4).Optional();
Map(m => m.name_2).Index(5).Optional();
When csv file does not have cols option1, option2 then the Index is 4
When csv file have cols option1, option2 then the Index is 6
答案 0 :(得分:0)
我更改为使用动态对象而不是ClassMap的另一种方法,我看到模式列具有前缀name_,所以我获得所有列name_并使用
type Foo = (() => string) | () => () => string;