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

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

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

前言

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

CsvHelper类库介绍

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

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

CsvHelper类库特点

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

什么是 .csv 文件?

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

创建控制台应用

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

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

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

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

安装CsvHelper类库

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

图片图片zcY28资讯网——每日最新资讯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);        }

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

读取CSV文件数据

快速读取上面写入到StudentInfoFile.csv中的数据。zcY28资讯网——每日最新资讯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();        }

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

项目源码地址

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

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

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

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

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

标签:
  • 热门焦点
  • 卢伟冰长文解析K60至尊版 对Redmi有着里程碑式的意义

    在今天的Redmi后性能时代战略发布会结束之后,Redmi总经理卢伟冰又带来了一篇长文,详解了为什么 Redmi 要开启后性能时代?为什么选择和 MediaTek、Pixelworks 深度合作?以及后性
  • Mate60手机壳曝光 致敬自己的经典设计

    8月3日消息,今天下午博主数码闲聊站带来了华为Mate60的第三方手机壳图,可以让我们在真机发布之前看看这款华为全新旗舰的大致轮廓。从曝光的图片看,Mate 60背后摄像头面积依然
  • 6月安卓手机性价比榜:Note 12 Turbo断层式碾压

    6月份有一个618,虽然这是京东周年庆的日子,但别的电商也都不约而同的跟进了,反正促销没坏处,厂商和用户都能满意。618期间一些产品也出现了历史低价,那么各个价位段的产品性价比
  • SpringBoot中使用Cache提升接口性能详解

    环境:springboot2.3.12.RELEASE + JSR107 + Ehcache + JPASpring 框架从 3.1 开始,对 Spring 应用程序提供了透明式添加缓存的支持。和事务支持一样,抽象缓存允许一致地使用各
  • 多线程开发带来的问题与解决方法

    使用多线程主要会带来以下几个问题:(一)线程安全问题  线程安全问题指的是在某一线程从开始访问到结束访问某一数据期间,该数据被其他的线程所修改,那么对于当前线程而言,该线程
  • 梁柱接棒两年,腾讯音乐闯出新路子

    文丨田静 出品丨牛刀财经(niudaocaijing)7月5日,企鹅FM发布官方公告称由于业务调整,将于9月6日正式停止运营,这意味着腾讯音乐长音频业务走向消亡。腾讯在长音频领域还在摸索。为
  • 本地生活这块肥肉,拼多多也想吃一口

    出品/壹览商业 作者/李彦编辑/木鱼拼多多也看上本地生活这块蛋糕了。近期,拼多多在App首页&ldquo;充值中心&rdquo;入口上线了本机生活界面。壹览商业发现,该界面目前主要
  • 小米公益基金会捐赠2500万元驰援北京、河北暴雨救灾

    8月2日消息,今日小米科技创始人雷军在其微博上发布消息称,小米公益基金会宣布捐赠2500万元驰援北京、河北暴雨救灾。携手抗灾,京冀安康!以下为公告原文
  • 联想的ThinkBook Plus下一版曝光,键盘旁边塞个平板

    ThinkBook Plus 是联想的一个特殊笔记本类别,它在封面放入了一块墨水屏,也给人留下了较为深刻的印象。据有人爆料,联想的下一款 ThinkBook Plus 可能更特殊,它
Top