C#导入和导出CSV文件

yizhihongxing

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# 钩子学习笔记

    C#钩子学习笔记 什么是钩子 Windows操作系统为我们提供了许多钩子(Hooks),如键盘钩子、鼠标钩子、Windows消息钩子、时间戳钩子等。钩子可以让我们在系统层面对各种事件消息进行拦截、监控、修改或者定制化输出等操作。 钩子的分类 Windows中的钩子有很多种,我们可以将它们大体分为两类: 系统钩子 (system-wide hook):作用于整…

    C# 2023年5月15日
    00
  • C#连接Oracle数据库字符串(引入DLL)的方式

    C#连接Oracle数据库需要引入Oracle官方提供的 DLL 文件,通过以下步骤可以完成连接Oracle数据库字符串的设置: 第一步:下载 Oracle 操作库 从 Oracle 官网下载 Oracle 操作库,例如:Oracle.DataAccess.dll。 第二步:引入 DLL 在项目中添加引用库,将刚才下载的 Oracle.DataAccess.…

    C# 2023年6月2日
    00
  • 用Linq从一个集合选取几列得到一个新的集合(可改列名)

    使用Linq可以从一个集合中选择一部分数据,然后形成一个新的集合,具体可分为以下几步: 使用Select()方法选择数据集合中的某些字段。 使用Select()方法创建一个匿名类型对象,指定新的列名。 使用ToList()方法生成一个新的集合对象。 下面是一个完整的示例代码: List<Student> students = new List&l…

    C# 2023年6月1日
    00
  • .NET Core中本地化机制的深入讲解

    .NET Core中本地化机制的深入讲解 在本攻略中,我们将详细讲解.NET Core中本地化机制的技术及工作原理,并提供两个示例说明。 什么是本地化? 本地化是指将应用程序适应不同的语言和文化习惯的过程。在.NET Core中,本地化通常包括以下内容: 翻译应用程序的用户界面元素,如按钮、标签、菜单等。 格式化日期、时间、货币等数据类型,以适应不同的文化习…

    C# 2023年5月16日
    00
  • ASP.NET Core按用户等级授权的方法

    以下是关于“ASP.NET Core 按用户等级授权的方法”的完整攻略: 1. ASP.NET Core 授权 ASP.NET Core 授权是一种用于限用户访问应用程序中某些资源的机制。通过授权,我们限制用户访问某些页面、API 或其他资源,以保护应用的安全性和完整性。 2. ASP.NET Core 按等级授权 ASP.NET Core 按用户等级授权是…

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

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

    C# 2023年5月15日
    00
  • 微软宣布.NET开源:Visual Studio支持Android了

    微软宣布.NET开源:Visual Studio支持Android了 简介 微软宣布.NET Framework将全面开源,并将.NET Core开源为Linux、Mac OS X和Windows的x86平台。Visual Studio 2015也增加了对Android和iOS的支持。这些举措将加强微软在移动领域的布局,推动.NET技术的普及。 .NET开源…

    C# 2023年6月3日
    00
  • c# 爬取优酷电影信息(1)

    下面是针对“c# 爬取优酷电影信息(1)”攻略的详细讲解。 1. 项目概述 该项目旨在使用C#编写一个网页爬虫,从优酷电影网站上爬取指定类型电影的信息,包括电影名称、导演、演员、上映时间、评分等。具体实现时,我们将使用HtmlAgilityPack解析HTML页面并提取数据。 2. 实现步骤 2.1 确定目标URL与请求方式 我们首先需要确定需要爬取的目标页…

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