C# CSV文件读写的实现

C# CSV文件读写的实现攻略

CSV(Comma Separated Values)是一种常用的文件格式,以逗号作为分隔符并且每行数据独占一行,适合于数据交换和数据存储。下面是实现CSV文件读写的步骤。

步骤1: 引入CSV文件格式处理库

C#中有很多好用的CSV文件格式处理库可以选择,比如:CsvHelper、LINQ to CSV等,我这里以CsvHelper作为例子进行讲解。可以在NuGet软件包管理器中搜索并安装CsvHelper。

Install-Package CsvHelper

步骤2: 读取CSV文件

示例1:读取包含标题行的CSV文件

下面的示例演示了如何读取包含标题行的CSV文件。假设下面的csv文件:

Name,Age,Gender
John,23,Male
Lisa,25,Female
Michael,29,Male
  1. 引入CsvHelper库并创建读取器
using CsvHelper;
using System.IO;

// ...

var reader = new StreamReader("path/to/your/csv/file.csv");
var csv = new CsvReader(reader, CultureInfo.InvariantCulture);
  1. 将读取器转化为包裹自定义类型的可枚举对象
using CsvHelper.Configuration.Attributes;

public class Person
{
    [Name("Name")]
    public string Name { get; set; }

    [Name("Age")]
    public int Age { get; set; }

    [Name("Gender")]
    public string Gender { get; set; }
}

// ...

csv.Context.RegisterClassMap<PersonMap>();
var records = csv.GetRecords<Person>();

其中PersonMap类需要继承CsvClassMap类,并通过Add函数指定对应的属性名与文件列名的关系,例如:

using CsvHelper.Configuration;

public class PersonMap : CsvClassMap<Person>
{
    public PersonMap()
    {
        Map(m => m.Name).Name("Name");
        Map(m => m.Age).Name("Age");
        Map(m => m.Gender).Name("Gender");
    }
}

示例2:读取不包含标题行的CSV文件

下面的示例演示了如何读取不包含标题行的CSV文件。假设下面的csv文件:

John,23,Male
Lisa,25,Female
Michael,29,Male
  1. 引入CsvHelper库并创建读取器
using CsvHelper;
using System.IO;

// ...

var reader = new StreamReader("path/to/your/csv/file.csv");
var csv = new CsvReader(reader, CultureInfo.InvariantCulture);
  1. 直接将读取器转化为Person类型的可枚举对象
public class Person
{
    public string Name { get; set; }

    public int Age { get; set; }

    public string Gender { get; set; }
}

// ...

csv.Configuration.HasHeaderRecord = false;
var records = csv.GetRecords<Person>();

步骤3:写入CSV文件

下面的示例演示了如何将Person类的对象列表写入到CSV文件中。

using CsvHelper;
using System.IO;

// ...

List<Person> people = new List<Person>
{
    new Person { Name = "John", Age = 23, Gender = "Male" },
    new Person { Name = "Lisa", Age = 25, Gender = "Female" },
    new Person { Name = "Michael", Age = 29, Gender = "Male" }
};

using var writer = new StreamWriter("path/to/your/csv/file.csv", false, Encoding.UTF8);
using var csv = new CsvWriter(writer, CultureInfo.InvariantCulture);
csv.WriteRecords(people);

以上就是C#中CSV文件读写的实现攻略,希望对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# CSV文件读写的实现 - Python技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月1日

相关文章

  • C#写日志类实例

    下面是C#写日志类实例的攻略。 概述 在开发应用程序时,经常需要记录应用程序的运行日志,以便在程序出现异常等问题时快速定位问题。C#提供了System.Diagnostics命名空间下的Trace和Debug类用于记录日志信息,而自己编写一个日志类可以更加灵活地记录日志信息,并可以根据自己的需求进行扩展和定制。 实现步骤 1. 创建日志类 首先需要创建一个日…

    C# 2023年6月1日
    00
  • .NET/C#利用反射调用含ref或out参数的方法示例代码

    下面是详细的攻略: 1. 了解反射 反射是一种在运行时获取类型信息的机制。使用反射可以在运行时获取如类的名称、属性的名称、方法的名称等信息。通过反射,可以在运行时动态地加载程序集,创建实例并调用其成员。 2. 获取类型信息 在利用反射调用含ref或out参数的方法之前,需要先获取到该方法所属的类型的信息。我们通过以下代码来获取类型信息: Type type …

    C# 2023年5月31日
    00
  • 可空类型Nullable用法详解

    可空类型Nullable用法详解 概述 C# 提供了可空类型 Nullable<T> 来表示值类型(例如 int、double 等)可以为 null。可空类型的变量将具有两种可能的状态:1)具有值;2)没有值(null)。 int? myNullableInt = null; // 可空类型 int 的变量,赋值为 null(没有值) 可空类型的…

    C# 2023年5月15日
    00
  • C#实现简单的双色球抽取中奖号码代码

    要实现简单的双色球抽取中奖号码代码,需要掌握以下的知识点: C#的随机数生成 数组的定义和使用 控制语句(如if语句、for循环等) 字符串的操作 接下来,我将一步步为你详细讲解如何用C#实现简单的双色球抽取中奖号码的代码。 步骤一:定义红球和蓝球的范围 双色球包含1-33个红球和1-16个蓝球。我们需要定义这两个范围。 int redMax = 33; i…

    C# 2023年5月31日
    00
  • C#多线程之线程绑定ThreadLocal类

    当我们在C#中使用多线程时,会涉及到一种问题:多个线程间如何共享数据。在这种情况下,我们可以使用ThreadLocal类。 ThreadLocal类的概述 ThreadLocal类是.NET框架提供的一种线程本地存储机制,它为每个线程提供了单独的存储空间。这意味着,每个线程都可以独立地操作自己的数据,而不会对其他线程的数据造成影响。 ThreadLocal类…

    C# 2023年6月6日
    00
  • Directory文件类的实例讲解

    当我们在进行网站或者应用程序的开发时,通常需要对文件进行管理。其中一个重要的文件类是Directory文件类。在这个话题中,我们将详细讲解Directory文件类的实例。 Directory文件类的作用 Directory是一个文件类,用于对文件夹进行操作。通过Directory文件类,我们可以创建、复制、移动、删除、枚举文件夹中的文件或子文件夹等操作。 D…

    C# 2023年6月1日
    00
  • c# Parallel类的使用

    c#Parallel类的使用 C# 的 Parallel 类中提供了一些并行程序执行的方法,这些方法可以在多核处理器中充分发挥性能,提高程序的运行速度。下面将详细讲解 Parallel 类的使用。 Parallel.ForEach 方法 Parallel.ForEach 方法用来遍历一个集合,并把集合中的每个元素分配到不同的线程中去执行,以实现并行处理。以下…

    C# 2023年5月15日
    00
  • ASP.NET操作EXCEL的总结篇

    下面是ASP.NET操作Excel的总结篇的完整攻略。 1. 准备工作 在ASP.NET中操作Excel文件需要安装Microsoft Office或Open Office软件,也可以使用第三方开源控件。具体步骤如下: 安装Microsoft Office或Open Office软件,这里以安装Microsoft Office为例; 在Visual Stud…

    C# 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部