zoukankan      html  css  js  c++  java
  • Linq学习之路(05) 教你如何使用Linq To CSV

    我们知道Linq to Objects、Linq to SQL、Linq to XML非常方便,但是Linq同样也可以处理csv文件,今天我将告诉大家使用Linq处理文本文件同样很爽!!!!

    csv文件是(逗号分隔值)的英文缩写,通常都是纯文本文件。每个值都是通过逗号“,”分隔开来的。现在我这里有一个学生表,里面有几条学生信息,是用csv文件保存起来的,我截图给大家看看:

    接下来我使用Linq将students.csv文件中的这些学生信息输出到控制台中:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.IO;
     6 
     7 namespace LinqToCSVDemo
     8 {
     9     class Program
    10     {
    11         static void Main(string[] args)
    12         {
    13             var students = from student in File.ReadAllLines("students.csv")
    14                            where !student.StartsWith("#")
    15                            let line = student.Split(',')
    16                            select new
    17                            {
    18                                Name = line[0],
    19                                Age = line[1],
    20                                Sex = line[2],
    21                                Birthday = line[3],
    22                                Hobby = line[4]
    23                            };
    24 
    25             ObjectDumper.Write(students);
    26             Console.ReadKey();
    27         }
    28     }
    29 }

    输出结果:

    是不是感觉很不可思议?这里我对上面的代码简单的解释一下:

    第13行是将students.csv文件读取到内存中,File.ReadAllLines()方法是定义在System.IO命名空间下的,他的功能就是将students.csv文件中的所有行都取出来。

    第14行是将过滤掉标题行

    第15行是将每行按“,”分割放入到line的char[]数组中

    第16到23行是定义一个匿名类,保存Student对象。

    好吧,这个小小的案例我就说这么多了,大家是不是感觉Linq真的很强大啊?

  • 相关阅读:
    HDU4529 郑厂长系列故事——N骑士问题 —— 状压DP
    POJ1185 炮兵阵地 —— 状压DP
    BZOJ1415 聪聪和可可 —— 期望 记忆化搜索
    TopCoder SRM420 Div1 RedIsGood —— 期望
    LightOJ
    LightOJ
    后缀数组小结
    URAL
    POJ3581 Sequence —— 后缀数组
    hdu 5269 ZYB loves Xor I
  • 原文地址:https://www.cnblogs.com/ARMdong/p/linqtocsv.html
Copyright © 2011-2022 走看看