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

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

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

前言

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

CsvHelper类库介绍

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

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

CsvHelper类库特点

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

什么是 .csv 文件?

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

创建控制台应用

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

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

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

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

安装CsvHelper类库

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

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

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

读取CSV文件数据

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

图片图片L9028资讯网——每日最新资讯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的方案,只是细节上有了调整,例如新加入了钛空灰
  • 对标苹果的灵动岛 华为带来实况窗功能

    继苹果的灵动岛之后,华为也在今天正式推出了“实况窗”功能。据今天鸿蒙OS 4.0的现场演示显示,华为的实况窗可以更高效的展现出实时通知,比如锁屏上就能看到外卖、打车、银行
  • 中兴AX5400Pro+上手体验:再升级 双2.5G网口+USB 3.0这次全都有

    2021年11月的时候,中兴先后发布了两款路由器产品,中兴AX5400和中兴AX5400 Pro,从产品命名上就不难看出这是隶属于同一系列的,但在外观设计上这两款产品可以说是完全没一点关系
  • Rust中的高吞吐量流处理

    作者 | Noz编译 | 王瑞平本篇文章主要介绍了Rust中流处理的概念、方法和优化。作者不仅介绍了流处理的基本概念以及Rust中常用的流处理库,还使用这些库实现了一个流处理程序
  • 2023 年的 Node.js 生态系统

    随着技术的不断演进和创新,Node.js 在 2023 年达到了一个新的高度。Node.js 拥有一个庞大的生态系统,可以帮助开发人员更快地实现复杂的应用。本文就来看看 Node.js 最新的生
  • Temu起诉SHEIN,跨境电商战事升级

    来源 | 伯虎财经(bohuFN)作者 | 陈平安日前据外媒报道,拼多多旗下跨境电商平台Temu正对竞争对手SHEIN提起新诉讼,诉状称Shein&ldquo;利用市场支配力量强迫服装厂商与之签订独家
  • 三星推出Galaxy Tab S9系列平板电脑以及Galaxy Watch6系列智能手表

    2023年7月26日,三星电子正式发布了Galaxy Z Flip5与Galaxy Z Fold5。除此之外,Galaxy Tab S9系列平板电脑以及三星Galaxy Watch6系列智能手表也同期
  • 朋友圈可以修改可见范围了 苹果用户可率先体验

    近日,iOS用户迎来微信8.0.27正式版更新,除了可更换二维码背景外,还新增了多项实用功能。在新版微信中,朋友圈终于可以修改可见范围,简单来说就是已发布的朋友圈
  • 联想的ThinkBook Plus下一版曝光,键盘旁边塞个平板

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