【发布时间】:2019-03-17 10:24:14
【问题描述】:
我正在读取第一行是标题行的 CSV 文件。读取所有列名并将其放入如下表中:
foreach (var item in lines[0].Split(';').Where(s => !string.IsNullOrEmpty(s)))
{
table.Columns.Add(item.Trim(), typeof(string));
}
一切都正确无误,除非我再次尝试从表格中读取。 大多数列都被读取,除了一列。
我尝试调试并为此列编写消息,但它没有进入该函数(见下图)。 (if 语句返回 false)
我现在什么都试过了,包括检查桌子上的语言环境。
标题行:
document title;DocRef;DocRevNo;DocRevDt;RevisionObject;TransRef;Trans Status;DocOrigin;DocRefClient;RespActualDt;First TransDate;Last Update
编辑:
我发现第一个字节很奇怪...
[0]: 65279 ''
[1]: 100 'd'
[2]: 111 'o'
[3]: 99 'c'
[4]: 117 'u'
[5]: 109 'm'
[6]: 101 'e'
[7]: 110 'n'
[8]: 116 't'
[9]: 32 ' '
[10]: 116 't'
[11]: 105 'i'
[12]: 116 't'
[13]: 108 'l'
[14]: 101 'e'
任何知道如何删除该字节(如果存在)的人?
【问题讨论】:
-
你能从 csv 中添加第一行吗?
-
我在 LinqPad 中重复了您的代码。一切都对我有用。您是否尝试查看每个 ColumnName?我的意思是该列存在吗?有时我遇到了这个错误。但就我而言,这是一个字母,但使用不同的语言。 F.e.英文字母“c”和俄语字母“с”看起来一样,但字母不同。
-
非常好。来源来自法国,我是挪威文化...初步测试并没有解决它,但我会调查更多...
标签: c# datatable datacolumn