c#将.csv文件读取到具有重复列名的DataTable中

haddow64

我有一个.csv文件,该文件具有重复的列名,即单词“ Type”被重复多次。

我有一个基本的.csv阅读器,它读入数组然后在','上分割。但是,因为随后将其分配给了DataTable,所以我在任何具有重复列名的.csv文件中都遇到了问题。

解决此问题的最佳方法是什么?

    public void parseCSV(string file)
    {
        string[] Lines = File.ReadAllLines(file);

        string[] Fields;
        Fields = Lines[0].Split(new char[] { ',' });

        int Cols = Fields.GetLength(0);
        DataTable dt = new DataTable();

        //1st row must be column names; force lower case to ensure matching later on.
        for (int i = 0; i < Cols; i++)
            dt.Columns.Add(Fields[i], typeof(string));

        DataRow Row;
        for (int i = 1; i < Lines.GetLength(0); i++)
        {
            Fields = Lines[i].Split(new char[] { ',' });
            Row = dt.NewRow();
            for (int f = 0; f < Cols; f++)
                Row[f] = Fields[f];
            dt.Rows.Add(Row);

            dataGridView.DataSource = dt;
        }
    }

编辑:测试我正在使用的.csv文件,它会引发关于col2的错误

col1,col2,col2,col3,col4,Time Modified
1,1,123456,1,1,15:30
2,2,654321,2,2,15:31
蒂姆·施密特(Tim Schmelter)

您可以添加一个后缀,例如Type_1

for (int i = 0; i < Cols; i++)
{
    string columnName = Fields[i];
    int num = 0;
    while (dt.Columns.Contains(columnName))
        columnName = string.Format("{0}_{1}", Fields[i], ++num);
    dt.Columns.Add(columnName);
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数据文件读取到Matlab中的矩阵中,每行具有不同的数据量

来自分类Dev

将json的动态属性读取到.net C#中

来自分类Dev

C#从.DBF文件读取到数据表中

来自分类Dev

将Scala中的CSV读取到具有错误处理的案例类实例中

来自分类Dev

使用C#读取具有重复结构的XML文件

来自分类Dev

numpy:将csv读取到具有正确值类型的numpy中

来自分类Dev

将具有多个工作表的多个xlsx文件读取到一个R数据帧中

来自分类Dev

R:如何将文件读取到具有不同分割的数据表中?

来自分类Dev

将CSV文件读取到字典

来自分类Dev

将多个JSON文件读取到Powershell对象数组中,并过滤出具有相同值的属性

来自分类Dev

将CSV文件读取到julia DataFrame中

来自分类Dev

将json的动态属性读取到.net C#中

来自分类Dev

将csv文件读取到struct数组中

来自分类Dev

将txt文件中的行读取到.csv中

来自分类Dev

将列名称中具有特殊字符的SAS数据导出到.CSV文件

来自分类Dev

将具有不同整数数量的文本文件读取到多个列表中

来自分类Dev

将列表写入CSV文件C#

来自分类Dev

如何按列名过滤值,然后将具有相同值的行提取到另一个CSV文件?Python /熊猫

来自分类Dev

将数据从文本文件读取到具有不同数据类型的结构中C#

来自分类Dev

如何将具有浮点数的文本文件读取到C中的浮点数组

来自分类Dev

C将具有科学计数法的文件中的输入读取到2D数组中

来自分类Dev

当XML具有特定的根元素名称时,如何将XML文件正确地读取到集合中?

来自分类Dev

将具有多个数据节的csv文件读取到可寻址结构中

来自分类Dev

将具有布尔值的文本文件作为对象读取到数组列表中

来自分类Dev

将xml转换为具有重复列的数据框

来自分类Dev

将 csv 文件读取到 Pandas

来自分类Dev

将csv文件放入C#中的多值字典中

来自分类Dev

有没有办法在将 .csv 文件中的数据读取到 DataTable 时强制所有列都为字符串?

来自分类Dev

如何仅从文本文件中将具有未知数量整数的行读取到数组中(在 C 中)

Related 相关文章

  1. 1

    将数据文件读取到Matlab中的矩阵中,每行具有不同的数据量

  2. 2

    将json的动态属性读取到.net C#中

  3. 3

    C#从.DBF文件读取到数据表中

  4. 4

    将Scala中的CSV读取到具有错误处理的案例类实例中

  5. 5

    使用C#读取具有重复结构的XML文件

  6. 6

    numpy:将csv读取到具有正确值类型的numpy中

  7. 7

    将具有多个工作表的多个xlsx文件读取到一个R数据帧中

  8. 8

    R:如何将文件读取到具有不同分割的数据表中?

  9. 9

    将CSV文件读取到字典

  10. 10

    将多个JSON文件读取到Powershell对象数组中,并过滤出具有相同值的属性

  11. 11

    将CSV文件读取到julia DataFrame中

  12. 12

    将json的动态属性读取到.net C#中

  13. 13

    将csv文件读取到struct数组中

  14. 14

    将txt文件中的行读取到.csv中

  15. 15

    将列名称中具有特殊字符的SAS数据导出到.CSV文件

  16. 16

    将具有不同整数数量的文本文件读取到多个列表中

  17. 17

    将列表写入CSV文件C#

  18. 18

    如何按列名过滤值,然后将具有相同值的行提取到另一个CSV文件?Python /熊猫

  19. 19

    将数据从文本文件读取到具有不同数据类型的结构中C#

  20. 20

    如何将具有浮点数的文本文件读取到C中的浮点数组

  21. 21

    C将具有科学计数法的文件中的输入读取到2D数组中

  22. 22

    当XML具有特定的根元素名称时,如何将XML文件正确地读取到集合中?

  23. 23

    将具有多个数据节的csv文件读取到可寻址结构中

  24. 24

    将具有布尔值的文本文件作为对象读取到数组列表中

  25. 25

    将xml转换为具有重复列的数据框

  26. 26

    将 csv 文件读取到 Pandas

  27. 27

    将csv文件放入C#中的多值字典中

  28. 28

    有没有办法在将 .csv 文件中的数据读取到 DataTable 时强制所有列都为字符串?

  29. 29

    如何仅从文本文件中将具有未知数量整数的行读取到数组中(在 C 中)

热门标签

归档