从文本文件导入时,DataSet中的缺少列

踢脚

我正在尝试通过C#将以竖线分隔的文本文件导入数据集中。有些列未导入标题。

这是我的源数据:

Apple|Orange|Banana|Grape|Mango|Guava|Apricot|Pear|Peach
0C025X0|530335|WEROERWORUWEORWEU||Misc.||0|1|0

这是我的代码:

         bool conversionStatus = true;

         //instantiate new Excel Object
        Application xlApp = new Application();
        _Workbook wb = null;
        if (xlApp == null)
        {
            Console.WriteLine("Excel is not properly installed!!");
            Console.ReadLine();
            return false;
        }


        //OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source = " + Path.GetDirectoryName(filePath) + "; Extended Properties = \"text;HDR=No;FMT=TabDelimited\"");
        OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source = " + Path.GetDirectoryName(filePath) + "; Extended Properties = \"text;HDR=No\"");
        conn.Open();

        OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM " + Path.GetFileName(filePath), conn);

        DataSet ds = new DataSet("Temp");
        adapter.Fill(ds);

我的格式设置在一个schema.ini文件中,该文件如下所示:

[Master.txt]
Format=Delimited(|)
ColNameHeader=False

以下是数据在数据集中的外观。

在此处输入图片说明

有谁知道为什么要包含某些标头,而没有标头呢?

史蒂夫

我可以重现您的情况,并且已经解决了将schema.ini文件更改

[Master.txt]
Format=Delimited(|)
ColNameHeader=False
Col1=Name1 Text Width 100
Col2=Name2 Text Width 100
Col3=Name3 Text Width 100
Col4=Name4 Text Width 100
Col5=Name5 Text Width 100
Col6=Name6 Text Width 100
Col7=Name7 Text Width 100
Col8=Name8 Text Width 100
Col9=Name9 Text Width 100

设置带有示例的列列表name and type似乎可以解决此问题。

经过一些研究,我注意到一个事实,即缺少的值来自具有冲突类型的值的列。

例如,列F2的第一行应包含单词ORANGE,但下一行应包含数字,并且所有其他列中的缺失值也会发生同样的情况。因此,我认为文本驱动程序已决定为列提供数字类型,并且当然不能在该列中表示字符串值。
现在,为了检验这一理论,我将以下行添加到您的代码中:

adapter.Fill(ds);
DataTable dt = ds.Tables[0];
Console.WriteLine(dt.Columns["F2"].DataType);  // prints Int32

答对了。驱动程序已为F2列选择了数据类型Int32,并且单词ORANGE不能在此处显示。

要解决此问题,您可以将列名称及其数据类型添加到schema.ini中,以避免实际列值之间的歧义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从文本文件导入时,DataSet中的缺少列

来自分类Dev

Python(scipy)从文本文件的导入时间

来自分类Dev

Python(scipy)从文本文件的导入时间

来自分类Dev

将文本文件导入为numpy中的矩阵

来自分类Dev

删除从文本文件导入的 SSIS 中的“NUL”字符

来自分类Dev

将文本文件的内容导入 Python 中的列表

来自分类Dev

Powershell GUI 导入的文本文件缺少换行符/回车符

来自分类Dev

导入前预览文本文件

来自分类Dev

将文本文件导入R

来自分类Dev

将文本文件导入SAS

来自分类Dev

在python中导入文本文件

来自分类Dev

排序导入的文本文件?

来自分类Dev

导入文本文件到Excel

来自分类Dev

将文本文件导入R

来自分类Dev

排序导入的文本文件?

来自分类Dev

在Elasticsearch中导入文本文件

来自分类Dev

删除导入的文本文件 (Python)

来自分类Dev

在 Access 中导入文本文件?

来自分类Dev

首次写入时覆盖文本文件,然后附加到文本文件-Python

来自分类Dev

首次写入时覆盖文本文件,然后附加到文本文件-Python

来自分类Dev

从文本文件中删除文本

来自分类Dev

如何使用Excel“文本导入向导”修改文本文件中的空格以将其制成表格?

来自分类Dev

如何知道R中的文本文件中缺少哪行(日期)?

来自分类Dev

如何从已导入eclipse的文件夹中的文本文件读取?

来自分类Dev

您可以将信息从文本文件导入/引用到Markdown文件中吗?

来自分类Dev

JAVA读取文本文件并导入文本文件

来自分类Dev

将导入的.py文件的结果写入文本文件

来自分类Dev

使用bat脚本编写文本文件:缺少字符

来自分类Dev

缺少数据的打开文本文件

Related 相关文章

热门标签

归档