.NET使用CsvHelper快速讀取和寫入CSV文件的操作方法
前言
在日常開發(fā)中使用CSV文件進行數(shù)據(jù)導入和導出、數(shù)據(jù)交換是非常常見的需求,今天我們來講講在.NET中如何使用CsvHelper
這個開源庫快速實現(xiàn)CSV文件讀取和寫入。
CsvHelper類庫介紹
CsvHelper是一個.NET開源、快速、靈活、高度可配置、易于使用的用于讀取和寫入CSV文件的類庫。
CsvHelper類庫特點
什么是 .csv 文件?
.csv 文件是一種用于存儲表格數(shù)據(jù)的文本文件,CSV 是 "Comma-Separated Values" 的縮寫,意思是 "逗號分隔值"。CSV 文件是一個存儲表格和電子表格信息的純文本文件,其內容通常是一個文本、數(shù)字或日期的表格。CSV 文件可以使用以表格形式存儲數(shù)據(jù)的程序輕松導入和導出。
創(chuàng)建控制臺應用
創(chuàng)建一個名為:CsvHelperExercise
的.NET 8控制臺應用。
安裝CsvHelper類庫
NuGet包管理器中搜索:CsvHelper
,點擊安裝!
定義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文件數(shù)據(jù)
static void Main(string[] args) { var students = new List<StudentInfo> { new StudentInfo { ID = 1, Name = "張三", Age = 20, Class = "終極一班", Gender = "男", Address = "北京市東城區(qū)" }, new StudentInfo { ID = 2, Name = "李四", Age = 21, Class = "終極一班", Gender = "女", Address = "上海市黃浦區(qū)" }, new StudentInfo { ID = 3, Name = "王五", Age = 22, Class = "終極一班", Gender = "男", Address = "廣州市越秀區(qū)" }, new StudentInfo { ID = 4, Name = "趙六", Age = 20, Class = "終極二班", Gender = "女", Address = "深圳市福田區(qū)" }, new StudentInfo { ID = 5, Name = "孫七", Age = 23, Class = "終極二班", Gender = "男", Address = "杭州市西湖區(qū)" }, new StudentInfo { ID = 6, Name = "周八", Age = 24, Class = "終極二班", Gender = "女", Address = "南京市玄武區(qū)" }, new StudentInfo { ID = 7, Name = "吳九", Age = 22, Class = "終極二班", Gender = "男", Address = "成都市錦江區(qū)" }, new StudentInfo { ID = 8, Name = "小袁", Age = 21, Class = "終極三班", Gender = "女", Address = "重慶市渝中區(qū)" }, new StudentInfo { ID = 9, Name = "大姚", Age = 20, Class = "終極三班", Gender = "男", Address = "武漢市武昌區(qū)" }, new StudentInfo { ID = 10, Name = "追逐時光者", Age = 23, Class = "終極三班", Gender = "女", Address = "長沙市天心區(qū)" } }; //寫入CSV文件數(shù)據(jù) using var writer = new StreamWriter(@".\StudentInfoFile.csv"); using var csvWriter = new CsvWriter(writer, CultureInfo.InvariantCulture); csvWriter.WriteRecords(students); }
讀取CSV文件數(shù)據(jù)
快速讀取上面寫入到StudentInfoFile.csv
中的數(shù)據(jù)。
static void Main(string[] args) { //讀取CSV文件數(shù)據(jù) using var reader = new StreamReader(@".\StudentInfoFile.csv"); using var csvReader = new CsvReader(reader, CultureInfo.InvariantCulture); var getStudentInfos = csvReader.GetRecords<StudentInfo>().ToList(); }
項目源碼地址
更多項目實用功能和特性歡迎前往項目開源地址查看??,別忘了給項目一個Star支持??。
- CsvHelper類庫開源地址:https://github.com/JoshClose/CsvHelper
- 文章示例源碼地址:https://github.com/YSGStudyHards/DotNetExercises/tree/master/CsvHelperExercise
優(yōu)秀項目和框架精選
該項目已收錄到C#/.NET/.NET Core優(yōu)秀項目和框架精選中,關注優(yōu)秀項目和框架精選能讓你及時了解C#、.NET和.NET Core領域的最新動態(tài)和最佳實踐,提高開發(fā)工作效率和質量??右淹冢瑲g迎大家踴躍提交PR推薦或自薦(讓優(yōu)秀的項目和框架不被埋沒??)。
https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md
參考文章
https://www.freecodecamp.org/chinese/news/what-is-a-csv-file-and-how-to-open-the-csv-file-format/
- DotNetGuide技術社區(qū)交流群DotNetGuide技術社區(qū)是一個面向.NET開發(fā)者的開源技術社區(qū),旨在為開發(fā)者們提供全面的C#/.NET/.NET Core相關學習資料、技術分享和咨詢、項目框架推薦、求職和招聘資訊、以及解決問題的平臺。
- 在DotNetGuide技術社區(qū)中,開發(fā)者們可以分享自己的技術文章、項目經(jīng)驗、學習心得、遇到的疑難技術問題以及解決方案,并且還有機會結識志同道合的開發(fā)者。
- 我們致力于構建一個積極向上、和諧友善的.NET技術交流平臺。無論您是初學者還是有豐富經(jīng)驗的開發(fā)者,我們都希望能為您提供更多的價值和成長機會。
到此這篇關于.NET使用CsvHelper快速讀取和寫入CSV文件的文章就介紹到這了,更多相關.NET使用CsvHelper快速讀取和寫入CSV文件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
DropDownList綁定選擇數(shù)據(jù)報錯提示異常解決方案
DropDownList控件在綁定選擇數(shù)據(jù)時提示報錯異常詳細信息為:有一個無效 SelectedValue,因為它不在項目列表中,應該有很多新手朋友們遇到過吧,本文將給予解決方法,感興趣的朋友可以了解下,希望本對你有所幫助2013-01-01asp.net點選驗證碼實現(xiàn)思路分享 (附demo)
這篇文章主要介紹了asp.net點選驗證碼實現(xiàn)思路分享 (附demo),具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-01-01