C# CSV列返回为空

C# CSV列返回为空,c#,parsing,csv,C#,Parsing,Csv,我已通过Microsoft.Jet.OLEDB.4.0提供程序解析CSV。这在我们的大部分任务中都很有效,但最近我注意到了一个问题 我有一个CSV,它有一个名为Rating的列,这通常是一个整数,但偶尔会是“1-2”或日期,例如“1/1/2010”。我将其导入的datatable的列已显式设置为字符串,但当读取非整数字段时,它将改为null 你知道我是如何解决这个问题的吗?可能发生的情况是,对列中的前几个字段进行嗅探以确定数据类型,然后当后面有不同类型的列时,它们会被删除 我相信您可以通过将IM

我已通过Microsoft.Jet.OLEDB.4.0提供程序解析CSV。这在我们的大部分任务中都很有效,但最近我注意到了一个问题

我有一个CSV,它有一个名为Rating的列,这通常是一个整数,但偶尔会是“1-2”或日期,例如“1/1/2010”。我将其导入的datatable的列已显式设置为字符串,但当读取非整数字段时,它将改为null


你知道我是如何解决这个问题的吗?

可能发生的情况是,对列中的前几个字段进行嗅探以确定数据类型,然后当后面有不同类型的列时,它们会被删除


我相信您可以通过将
IMEX=1
添加到连接字符串中的
扩展属性
来关闭此行为。这将读卡器设置为混合模式,以文本形式读取字段。然后,您可以在另一个过程中进行检查并自己设置类型。

使用schema.ini文件(在包含.csv的文件夹中)并正确指定列数据类型。

是否将其读入数据集?您确定数据集列类型不是整数吗?我在尝试此操作时遇到与schema.ini文件相同的错误