C#读取动态头部列的文本文件

C# 读取头部不固定的文本文件,如何进行动态赋值

我当前有一个文本文件需要解析,假设头部最多只有A,B,C,D,E五个列,每次每个文件中的列、顺序都不一样,如何动态的读取,并给实体进行赋值呢?

文件举例:

img

我的解答思路和尝试过的方法

我想的解决办法是,每次先去读取列的内容(判断文件列中有那几个字段),然后比对属性名和文件名,如果相等,就获取获取文件列的该字段的Index。遍历完全部的列,如果有不存在的,就跳过。请问还有没有其他高效的方法

读取行,拆分数据
反射列名
或字典
或索引

你不需要实体,你需要的是DataFrame或者DataTable
1.试试看传统的ado.net 读取csv文件到DataTable,观察结果
2.如果你用比较新的以DataFrame为基础设计的库,比如Deedle,然后观察结果
https://fslab.org/Deedle/

其实你可以去看看大名鼎鼎的pandas,这么有名的python的最主流的库,可不会纠结实体不实体,能解决问题,就是扔掉“实体”有啥可惜的