C#导入和导出CSV文件

C#语言常用于进行数据处理和分析,CSV(逗号分隔值)是一种常见的数据存储格式。在C#应用程序中,我们可以通过导入和导出CSV文件的方法来实现数据交换和处理。接下来,我将为您详细讲解“C#导入和导出CSV文件”的完整攻略。

导出CSV文件

导出CSV文件是指将程序中的数据通过CSV格式的方式保存到本地文件中。下面是导出CSV文件的详细步骤:

1. 定义数据源

首先,需要定义一个数据源,该数据源包含待导出的数据。在下面的示例中,我们使用List类型作为数据源:

List<Student> students = new List<Student>();
students.Add(new Student(){Name="Tom", Age=18, Grade=85});
students.Add(new Student(){Name="Jerry", Age=17, Grade=90});
students.Add(new Student(){Name="Lucy", Age=16, Grade=95});

2. 创建CSV文件

接下来,我们需要创建一个CSV文件并向其中写入数据。在下面的代码中,我们使用StreamWriter类来创建CSV文件并向其中写入数据:

using (StreamWriter sw = new StreamWriter(@"D:\students.csv", false, Encoding.Default))
{
    // 写入表头
    sw.WriteLine("Name,Age,Grade");

    // 写入数据
    foreach (Student stu in students)
    {
        sw.WriteLine($"{stu.Name},{stu.Age},{stu.Grade}");
    }
}

在创建StreamWriter对象时,需要传入文件的路径和编码格式等参数。在写入CSV文件时,我们需要先写入表头,然后逐行写入数据。在写入数据时,我们可以使用$符号进行字符串插值。

完整示例

下面是一个完整的导出CSV文件的示例:

using System;
using System.Collections.Generic;
using System.IO;
using System.Text;

namespace ExportCSV
{
    class Program
    {
        static void Main(string[] args)
        {
            // 定义数据源
            List<Student> students = new List<Student>();
            students.Add(new Student(){Name="Tom", Age=18, Grade=85});
            students.Add(new Student(){Name="Jerry", Age=17, Grade=90});
            students.Add(new Student(){Name="Lucy", Age=16, Grade=95});

            // 创建CSV文件
            using (StreamWriter sw = new StreamWriter(@"D:\students.csv", false, Encoding.Default))
            {
                // 写入表头
                sw.WriteLine("Name,Age,Grade");

                // 写入数据
                foreach (Student stu in students)
                {
                    sw.WriteLine($"{stu.Name},{stu.Age},{stu.Grade}");
                }
            }

            Console.WriteLine("Export CSV file successfully!");
            Console.ReadKey();
        }
    }

    class Student
    {
        public string Name { get; set; }
        public int Age { get; set; }
        public int Grade { get; set; }
    }
}

运行该程序后,会在D盘根目录下生成一个名为students.csv的文件,并将数据写入该文件中。

导入CSV文件

导入CSV文件是指将本地CSV文件中的数据读取到程序中进行处理。下面是导入CSV文件的详细步骤:

1. 读取CSV文件

首先,我们需要读取本地的CSV文件。在下面的代码中,我们使用StreamReader类来读取CSV文件:

using (StreamReader sr = new StreamReader(@"D:\students.csv", Encoding.Default))
{
    // 逐行读取数据
    while (!sr.EndOfStream)
    {
        string line = sr.ReadLine();
        // 处理数据...
    }
}

在创建StreamReader对象时,需要传入CSV文件的路径和编码格式等参数。在读取CSV文件时,我们可以使用StreamReader的ReadLine方法逐行读取数据。

2. 处理CSV数据

读取CSV文件后,我们需要对其中的数据进行处理。在下面的示例中,我们使用String.Split方法将数据按照逗号分隔,并将其转化为一个字符串数组:

string[] data = line.Split(',');

然后,我们可以根据需要进行数据处理,并将处理后的数据保存到程序中。

完整示例

下面是一个完整的导入CSV文件的示例:

using System;
using System.Collections.Generic;
using System.IO;
using System.Text;

namespace ImportCSV
{
    class Program
    {
        static void Main(string[] args)
        {
            // 读取CSV文件
            using (StreamReader sr = new StreamReader(@"D:\students.csv", Encoding.Default))
            {
                // 逐行读取数据
                while (!sr.EndOfStream)
                {
                    string line = sr.ReadLine();
                    string[] data = line.Split(',');

                    // 处理数据...
                    string name = data[0];
                    int age = int.Parse(data[1]);
                    int grade = int.Parse(data[2]);
                }
            }

            Console.WriteLine("Import CSV file successfully!");
            Console.ReadKey();
        }
    }
}

运行该程序后,会逐行读取D盘根目录下的students.csv文件,并将数据保存到程序中。在本示例中,我们提取了每行数据中的姓名、年龄和成绩等信息,并将其分别保存到字符串和整型变量中。

至此,我们已经完成了C#导入和导出CSV文件的完整攻略,希望对您有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#导入和导出CSV文件 - Python技术站

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

相关文章

  • C# 实现Trim方法去除字符串前后的所有空格

    下面是我对“C# 实现Trim方法去除字符串前后的所有空格”的完整攻略: 1.概述 在C#中,字符串是一种非常常见的数据类型。在进行字符串操作时,常常涉及到去除字符串前后的所有空格。这个操作可以用C#自带的Trim()方法来实现。同时,在某些场合下,我们需要自己编写代码实现Trim()方法。 2.使用C#自带的Trim()方法去除字符串前后的所有空格 C#自…

    C# 2023年6月7日
    00
  • C# Dictionary和SortedDictionary的简介

    C# Dictionary和SortedDictionary的简介 C#中的Dictionary和SortedDictionary都是用来存储键值对的数据结构,不同之处在于它们对数据的存储方式不同。 Dictionary Dictionary是一个散列表,使用哈希表存储键值对。在Dictionary中,键值对的键必须是唯一的,而值可以重复。下面是一个创建Di…

    C# 2023年6月7日
    00
  • 在NET Core 中获取 CPU 使用率

    在.NET Core中获取CPU使用率是一项重要的任务,它可以帮助您监视应用程序的性能并识别瓶颈。在本攻略中,我们将详细讲解在.NET Core中获取CPU使用率的完整过程,并提供两个示例说明。 步骤一:安装System.Diagnostics.Process NuGet包 要获取CPU使用率,您需要使用System.Diagnostics.Process类…

    C# 2023年5月17日
    00
  • C#自定义字符串补0函数实例

    下面我就为您详细讲解“C#自定义字符串补0函数实例”的完整攻略。 函数的说明 在实际工作和生活中,经常需要将数字或字符串进行长度的对齐,例如将一个数字进行补0以便更好地显示等,这时候就需要通过编写一个自定义字符串补0的函数来实现。 /// <summary> /// 自定义字符串补0函数 /// </summary> /// <…

    C# 2023年6月8日
    00
  • C#中DataTable实现筛选查询的示例

    下面是关于“C#中DataTable实现筛选查询的示例”的完整攻略。 1. DataTable简介 DataTable是C#中常用的数据表结构,类似于SQL中的表格。它可以存储多行数据,每行有多个列,每列对应一种数据类型。DataTable提供了许多方法和属性用于访问和操作数据。 2. DataTable实现筛选查询 在DataTable中,可以使用Sele…

    C# 2023年6月1日
    00
  • C# [ImportDll()] 知识小结

    C# [ImportDll()] 知识小结攻略 1. 什么是 [ImportDll()] [ImportDll()] 是 C# 中的一个特性,它用于在程序中引入外部的 DLL 库,以便使用其提供的函数或方法。通常情况下,这些 DLL 库由其他编程语言(如 C/C++)等编写,而 C# 使用 [ImportDll()] 将其加入到自己的代码中。 2. 如何使用…

    C# 2023年6月1日
    00
  • C#线程同步的三类情景分析

    C#线程同步的三类情景分析 在多线程的应用中,为了确保数据的正确性,我们需要对线程进行同步,避免多个线程同时对同一份数据进行修改。C#中提供了多种同步机制,其中包括线程同步的三类情景:Mutex、Monitor和AutoResetEvent。 Mutex Mutex是由操作系统提供的同步原语,可以保证只有一个线程访问临界区。典型的使用方式如下: using …

    C# 2023年6月6日
    00
  • js和C# 时间日期格式转换的简单实例

    下面我就详细讲解一下“js和C# 时间日期格式转换的简单实例”的完整攻略。 概述 在编写Web应用程序的过程中,我们经常需要在JavaScript代码和后端代码中进行时间日期格式的转换。本文将介绍如何在JavaScript和C#中进行时间日期格式的相互转换。 JavaScript中时间日期格式转换 在JavaScript中,通常使用Date对象来操作时间日期…

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