博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 使用CsvHelper读取.csv文件
阅读量:5226 次
发布时间:2019-06-14

本文共 1647 字,大约阅读时间需要 5 分钟。

1,先到包管理器下载 安装CsvHelper。

2,创建一个与csv文件字段名称相同的类

 

public class SurveyInfoModel        {            public string DIST_CD { get; set; }            public string SURVEY_CD { get; set; }                        public string SLSMAN_CD { get; set; }            public string SLSMAN_NAME { get; set; }                    }

 3,按照5,新建的类映射,获取文件中全部记录

//检测原文件编码的形式读入,或默认的StreamReader SRFile = new StreamReader("D:\Projects\test.csv", FileEncoding.DetectFileEncoding(file) ?? Encoding.Default);var csv = new CsvReader(SRFile);//把 数据映射到 SurveyInfoModel,返回一个 IEnumerable
对象var records = csv.GetRecords
().ToList();SRFile.Close(); //关闭文件

4,直接循环获取单独的字段

foreach (var r in records){      string  dist_cd = r.DIST_CD;  //直接获取字段}

 5,CSVHelper是自动根据你的类来自动映射匹配的,如果.csv字段名称不相同,那么可以定义一个映射匹配类

private sealed class SurveyInfoModelMap : ClassMap
{ SurveyInfoModelMap() { Map(m=>m.DIST_CD).Name("DIST_CD"); //使用文件列名称指定映射 Map(m => m.SURVEY_CD).Name("SURVEY_CD"); Map(m => m.SLSMAN_CD).Name("SLSMAN_CD"); Map(m => m.SLSMAN_NAME).Name("SLSMAN_NAME"); } }

匹配类建好后,只需要在获取IEnumerable<T> 对象前配置映射类,添加后第3步的代码:

//检测原文件编码的形式读入,或默认的StreamReader SRFile = new StreamReader("D:\Projects\test.csv", FileEncoding.DetectFileEncoding(file) ?? Encoding.Default);var csv = new CsvReader(SRFile);csv.Configuration.RegisterClassMap
(); //配置匹配类//把 数据映射到 SurveyInfoModel,返回一个 IEnumerable
对象var records = csv.GetRecords
().ToList();SRFile.Close(); //关闭文件

 

转载于:https://www.cnblogs.com/footmark/p/10770141.html

你可能感兴趣的文章
Linux操作系统-命令-aptitude install unzip
查看>>
数字的可视化:python画图之散点图sactter函数详解
查看>>
R语言For循环
查看>>
requests---自动写博客
查看>>
codility上的练习(5)
查看>>
Java开发工程师(Web方向) - 03.数据库开发 - 第4章.事务
查看>>
spring boot约定优于配置的这种做法在如今越来越流行了
查看>>
搭建 LNMP 环境
查看>>
【剑指offer】九,链表中倒数第k个结点
查看>>
最大流——poj1459
查看>>
第七次java作业
查看>>
启用sqlserver2005快照隔离
查看>>
回文串---Palindrome
查看>>
三角形问题
查看>>
Centos7.x Docker桥接网络
查看>>
RedisLive监控工具 windows部署笔记
查看>>
[Codeforces 316E3]Summer Homework(线段树+斐波那契数列)
查看>>
搭建好LAMP架构,部署OwnCloud
查看>>
EasyUI-EasyUI框架入门学习
查看>>
django新建站点时的问题
查看>>