【发布时间】:2025-12-17 03:20:05
【问题描述】:
问这个我觉得很尴尬,但我根本无法得到我想要的结果。
我有一个如下所示的 CSV 文件:
Col_Title_1|Col_Title_2|Col_Title_3|Col_Title_4|Col_Title_5
Value_1 | Value_2 | Value_3 | Value_4 | Value_5
我想读取这些数据并对其进行操作,例如(伪代码):
var test = array.Column("Col_Title_3").Value;
我似乎无法将列配对并相应地增加值。
最好使用字典或 KeyValuePair 吗?
这是我做过的 1 个很好的测试,但当然不能 100% 工作:
Dictionary<string, string> dict = File.ReadLines(e.FullPath).Select(line =>
line.Split('|')).ToDictionary(line => line[0], line => line[1]);
我知道我可以像这样使用 hacky/hard code 方式:
string lineValues = File.ReadLines(e.FullPath).ElementAt(1);
string row3 = lineValues.Split('|')[2];
string row5 = lineValues.Split('|')[4];
但出于显而易见的原因,我不想这样做。
任何帮助将不胜感激!谢谢大家!
【问题讨论】:
-
我认为@Rene147 的解决方案是最好的。创建一个与您想要的匹配的 POCO,然后使用帮助程序类根据工作表为您提供 POCO 列表。 KeyValuePair 或 Dictionary 都不是好的选择,尤其是 Dictionary 因为您要为电子表格中的每一行覆盖字典中的值。
标签: c# csv dictionary keyvaluepair