当前位置:首页 > 科技  > 软件

.NET使用CsvHelper快速读取和写入CSV文件

来源: 责编: 时间:2024-06-25 17:20:18 306观看
导读前言在日常开发中使用CSV文件进行数据导入和导出、数据交换是非常常见的需求,今天我们来讲讲在.NET中如何使用CsvHelper这个开源库快速实现CSV文件读取和写入。CsvHelper类库介绍CsvHelper是一个.NET开源、快速、灵活

前言

在日常开发中使用CSV文件进行数据导入和导出、数据交换是非常常见的需求,今天我们来讲讲在.NET中如何使用CsvHelper这个开源库快速实现CSV文件读取和写入。PQf28资讯网——每日最新资讯28at.com

CsvHelper类库介绍

CsvHelper是一个.NET开源、快速、灵活、高度可配置、易于使用的用于读取和写入CSV文件的类库。PQf28资讯网——每日最新资讯28at.com

图片图片PQf28资讯网——每日最新资讯28at.com

CsvHelper类库特点

图片图片PQf28资讯网——每日最新资讯28at.com

什么是 .csv 文件?

.csv 文件是一种用于存储表格数据的文本文件,CSV 是 "Comma-Separated Values" 的缩写,意思是 "逗号分隔值"。CSV 文件是一个存储表格和电子表格信息的纯文本文件,其内容通常是一个文本、数字或日期的表格。CSV 文件可以使用以表格形式存储数据的程序轻松导入和导出。PQf28资讯网——每日最新资讯28at.com

创建控制台应用

创建一个名为:CsvHelperExercise的.NET 8控制台应用。PQf28资讯网——每日最新资讯28at.com

图片图片PQf28资讯网——每日最新资讯28at.com

图片图片PQf28资讯网——每日最新资讯28at.com

图片图片PQf28资讯网——每日最新资讯28at.com

安装CsvHelper类库

NuGet包管理器中搜索:CsvHelper,点击安装!PQf28资讯网——每日最新资讯28at.com

图片图片PQf28资讯网——每日最新资讯28at.com

定义CSV文件读取和写入的对象

public class StudentInfo    {        /// <summary>        /// 学生学号        /// </summary>        public int ID { get; set; }        /// <summary>        /// 学生姓名        /// </summary>        public string Name { get; set; }        /// <summary>        /// 学生年龄        /// </summary>        public int Age { get; set; }        /// <summary>        /// 班级        /// </summary>        public string Class { get; set; }        /// <summary>        /// 性别        /// </summary>        public string Gender { get; set; }        /// <summary>        /// 住址        /// </summary>        public string Address { get; set; }    }

写入CSV文件数据

static void Main(string[] args)        {            var students = new List<StudentInfo>            {                new StudentInfo { ID = 1, Name = "张三", Age = 20, Class = "终极一班", Gender = "男", Address = "北京市东城区" },                new StudentInfo { ID = 2, Name = "李四", Age = 21, Class = "终极一班", Gender = "女", Address = "上海市黄浦区" },                new StudentInfo { ID = 3, Name = "王五", Age = 22, Class = "终极一班", Gender = "男", Address = "广州市越秀区" },                new StudentInfo { ID = 4, Name = "赵六", Age = 20, Class = "终极二班", Gender = "女", Address = "深圳市福田区" },                new StudentInfo { ID = 5, Name = "孙七", Age = 23, Class = "终极二班", Gender = "男", Address = "杭州市西湖区" },                new StudentInfo { ID = 6, Name = "周八", Age = 24, Class = "终极二班", Gender = "女", Address = "南京市玄武区" },                new StudentInfo { ID = 7, Name = "吴九", Age = 22, Class = "终极二班", Gender = "男", Address = "成都市锦江区" },                new StudentInfo { ID = 8, Name = "小袁", Age = 21, Class = "终极三班", Gender = "女", Address = "重庆市渝中区" },                new StudentInfo { ID = 9, Name = "大姚", Age = 20, Class = "终极三班", Gender = "男", Address = "武汉市武昌区" },                new StudentInfo { ID = 10, Name = "追逐时光者", Age = 23, Class = "终极三班", Gender = "女", Address = "长沙市天心区" }            };            //写入CSV文件数据            using var writer = new StreamWriter(@"./StudentInfoFile.csv");            using var csvWriter = new CsvWriter(writer, CultureInfo.InvariantCulture);            csvWriter.WriteRecords(students);        }

图片图片PQf28资讯网——每日最新资讯28at.com

读取CSV文件数据

快速读取上面写入到StudentInfoFile.csv中的数据。PQf28资讯网——每日最新资讯28at.com

static void Main(string[] args)        {            //读取CSV文件数据            using var reader = new StreamReader(@"./StudentInfoFile.csv");            using var csvReader = new CsvReader(reader, CultureInfo.InvariantCulture);            var getStudentInfos = csvReader.GetRecords<StudentInfo>().ToList();        }

图片图片PQf28资讯网——每日最新资讯28at.com

项目源码地址

更多项目实用功能和特性欢迎前往项目开源地址查看

本文链接:http://www.28at.com/showinfo-26-96431-0.html.NET使用CsvHelper快速读取和写入CSV文件

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 函数式 try-catch 如何转变 JavaScript 代码

下一篇: SwiftUI 在 WWDC 24 之后的新变化

标签:
  • 热门焦点
  • 一加Ace2 Pro真机揭晓 钛空灰配色质感拉满

    终于,在经过了几波预热之后,一加Ace2 Pro的外观真机图在网上出现了。还是博主数码闲聊站曝光的,这次的外观设计还是延续了一加11的方案,只是细节上有了调整,例如新加入了钛空灰
  • 6月安卓手机好评榜:魅族20 Pro蝉联冠军

    性能榜和性价比榜之后,我们来看最后的安卓手机好评榜,数据来源安兔兔评测,收集时间2023年6月1日至6月30日,仅限国内市场。第一名:魅族20 Pro好评率:95%5月份的时候魅族20 Pro就是
  • 5月iOS设备性能榜:M1 M2依旧是榜单前五

    和上个月一样,没有新品发布的iOS设备性能榜的上榜设备并没有什么更替,仅仅只有跑分变化而产生的排名变动,刚刚开始的苹果WWDC2023,推出的产品也依旧是新款Mac Pro、新款Mac Stu
  • Raft算法:保障分布式系统共识的稳健之道

    1. 什么是Raft算法?Raft 是英文”Reliable、Replicated、Redundant、And Fault-Tolerant”(“可靠、可复制、可冗余、可容错”)的首字母缩写。Raft算法是一种用于在分布式系统
  • 十个可以手动编写的 JavaScript 数组 API

    JavaScript 中有很多API,使用得当,会很方便,省力不少。 你知道它的原理吗? 今天这篇文章,我们将对它们进行一次小总结。现在开始吧。1.forEach()forEach()用于遍历数组接收一参
  • 十个简单但很有用的Python装饰器

    装饰器(Decorators)是Python中一种强大而灵活的功能,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用
  • 得物宠物生意「狂飙」,发力“它经济”

    作者|花花小萌主近日,得物宣布正式上线宠物鉴别,通过得物App内的&ldquo;在线鉴别&rdquo;,可找到鉴别宠物的选项。通过上传自家宠物的部位细节,就能收获拥有专业资质认证的得物鉴
  • 华为Mate 60系列用上可变灵动岛:正式版体验将会更出色

    这段时间以来,关于华为新旗舰的爆料日渐密集。据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将
  • 2纳米决战2025

    集微网报道 从三强争霸到四雄逐鹿,2nm的厮杀声已然隐约传来。无论是老牌劲旅台积电、三星,还是誓言重回先进制程领先地位的英特尔,甚至初成立不久的新
Top