如何读取csv文件并将其放入变量中以与C#

时间:2021-06-16 04:17:12

标签: c#

CSV 文件:

enter image description here

我正在传递“第 6 个”索引以获取用户名..

var lines = File.ReadAllLines("C:\\Users\\e3020722\\Downloads\\AdminLoginSearch (5).csv").Select(a => a.Split(','));
            var csv = from line in lines select (line[6].Split(',')).ToList();
            Report.Info(csv.Count<List<String>>().ToString());
            for(int i=0;i<csv.Count<List<String>>();i++){                
            Console.Writeline(csv.First<List<String>>().GetEnumerator().ToString());
           Report.Info(csv.ElementAt<List<String>>(0).ToString());
            }   

   

它是这样打印的.. ElementAT 和 GetEnumerator 都打印类型。如何打印值?

09:31:44    176
09:31:44    System.Collections.Generic.List`1+Enumerator[System.String]
09:31:44    System.Collections.Generic.List`1+Enumerator[System.String]
09:31:44    System.Collections.Generic.List`1+Enumerator[System.String]
09:31:44    System.Collections.Generic.List`1+Enumerator[System.String]
09:31:44    System.Collections.Generic.List`1+Enumerator[System.String]

我想打印所有用户名值而不是类型..

2 个答案:

答案 0 :(得分:1)

就这么简单,不需要写复杂的代码。

var lines = File.ReadAllLines("test.csv");
foreach(string line in lines)
{
     Console.WriteLine(line.Split(',')[5]);
}

我在这里假设您将始终对列进行赋值,否则会引发异常,因此请相应处理。

答案 1 :(得分:0)

代码的某些部分似乎是不必要的.. 无论如何,这应该工作

var lines = File.ReadAllLines("C:\\Users\\e3020722\\Downloads\\AdminLoginSearch (5).csv").Select(a => a.Split(','));
        var csv = from line in lines select (line[6].Split(',')).ToList();
        Report.Info(csv.Count<List<String>>().ToString());
        for(int i=0;i<csv.Count<List<String>>();i++){                
        Console.Writeline(csv.First<List<String>>().First().ToString());
       Report.Info(csv.ElementAt<List<String>>(0).ToString());
        }   
相关问题