使用 WeihanLi.Npoi 操作 CSV

Intro

最近发现 csv 文件在很多情况下都在使用,而且经过大致了解,csv 格式简单,相比 excel 文件要小很多,读取也很是方便,而且也很通用,微软的 ml.net 的示例项目 用来训练模型的数据也是使用的 csv 来保存的,最近又发现使用 jmeter 来测试网站的性能,也可以用 csv 来参数化请求,csv 文件操作的重要性由此可见。

此前做了一个 NPOI 的扩展 WeihanLi.Npoi,支持.net45 以及 .netstandard2.0及以上,主要是对 excel 文件的操作,于是打算再增加一些对csv的操作。

csv 操作API

640?wx_fmt=png

通过上面的方法,即可方便的将一个 IEnumerable 对象或者是DataTable 导出为 csv 文件或者或者 csv 文件的字节数组,也可将 csv 文件转换为 DataTable 或者 List 对象。

并且我于昨天优化了 csv 转成 list 对象的操作,并且支持了简单类型(比如int/long等 )的直接导出

Sample

640?wx_fmt=png

更多详情可参考示例:https://github.com/WeihanLi/WeihanLi.Npoi/blob/dev/samples/DotNetCoreSample/Program.cs

More

导入导出的时候如果根据需要配置要导出的属性以及顺序,和之前导出 Excel 相似,需要配置一下 ,目前和 Excel 导入导出共享配置,配置方式支持 Attribute 或者 FluentAPI 两种方式(不支持Excel的一些配置如Author,title、subject以及sheet等信息),示例如下:

640?wx_fmt=png

更多配置详情参考:https://github.com/WeihanLi/WeihanLi.Npoi#define-custom-mapping-and-settings

End

如果有 csv 文件操作的需求,可以尝试使用它,如果不能满足你的需求欢迎来给我提 issue

原文地址:https://www.cnblogs.com/weihanli/p/operate-csv-files-with-weihanli_npoi.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/317649.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

种类问题

几乎所有种类问题都可以转化成两种模型之一 1.直接维护ans数组 2.统计二维数点问题 前置知识 二维静态数点 以y为第一元素,x为第二元素,原点优先级大于查询点,对所有点(原点查询点),然后求 for(int i1;…

「LibreOJ Round #11」Misaka Network 与测试 (网络流跑二分图匹配)

description 研究者们想要测试 Misaka Network,于是他们把 Misaka Network 中的所有妹妹们召集到了一起。 现在妹妹们排成了 N行 M 列,有的位置没有人。现在研究者们给每一个个体的超能力进行了评定,一共有三个能力等级:Level 1 …

YbtOJ-相似子串【SA,RMQ,二分】

正题 题目大意 给出一个长度为nnn的字符串,两个串相似当且仅当可以通过每种字符置换使得它们相同。 qqq次询问这个字符串所有子串中和这个串中sl,rs_{l,r}sl,r​子串有多少个相似的。 1≤n≤105,1≤q≤51051\leq n\leq 10^5,1\leq q\leq 5\times 10^51≤n≤105,1≤…

CF1313D:Happy New Year(状压dp)

解析 比较妙的一道题 首先的一个技巧是把一条线段拆成左和右两个端点 顺便也就有了离散化 利用k的关键限制&#xff0c;压缩每个点覆盖线段的状态 需要动态更新每一位所对应的线段是哪条 代码 #include<bits/stdc.h> using namespace std; #define ll long long cons…

程序员修仙之路--把用户访问记录优化到极致

点击上方蓝色字体&#xff0c;关注我们菜菜呀&#xff0c;前几天做的用户空间&#xff0c;用户反映有时候比较慢呀CEO,CTO,CFO于一身的CXO是吗&#xff1f;菜菜我把你拉进用户反馈群&#xff0c;你解决一下呀CEO,CTO,CFO于一身的CXO&#xff08;完了&#xff0c;以后没清净时候…

Codeforces Round #713 (Div. 3)

Codeforces Round #713 (Div. 3) 题号题目考点ASpy Detected!签到题BAlmost Rectangle模拟题CA-B Palindrome构造DCorrupted Array构造EPermutation by Sum构造FEducation模拟暴力GShort Task筛法求因数和文章目录A题意&#xff1a;题解&#xff1a;代码&#xff1a;B题意&…

[国家集训队]航班安排 (最大费用最大流)

description 神犇航空有K架飞机&#xff0c;为了简化问题&#xff0c;我们认为每架飞机都是相同的。神犇航空的世界中有N个机场&#xff0c;以0…N-1编号&#xff0c;其中0号为基地机场&#xff0c;每天0时刻起飞机才可以从该机场起飞&#xff0c;并不晚于T时刻回到该机场。一…

CF809D-Hitchhiking in the Baltic States【FhqTreap】

正题 题目链接:https://www.luogu.com.cn/problem/CF809D 正题 题目链接:https://www.luogu.com.cn/problem/CF809D 题目大意 有一个长度为nnn的序列aaa&#xff0c;要求ai∈[li,ri]a_i\in[l_i,r_i]ai​∈[li​,ri​]&#xff0c;要求使得aaa的最长严格上升子序列最长。 1≤…

Divide by Zero 2021 and Codeforces Round #714 (Div. 2)

Divide by Zero 2021 and Codeforces Round #714 (Div. 2) 题号题目知识点AArray and PeaksBAND SequencesCAdd OneDGCD and MSTECost EquilibriumFSwapping Problem

新数据革命:开源图形化数据引擎Hawk5发布

Hawk是一款开源图形化的爬虫和数据清洗工具&#xff0c;GitHub Star超过2k&#xff0c;前几代版本介绍如下&#xff1a;Hawk3: 终于等到你: 图形化开源爬虫Hawk 3发布!Hawk2: 120项优化: 超级爬虫Hawk 2.0重磅发布&#xff01;Hawk1: 如何从互联网采集海量数据&#xff1f;租房…

11.6模拟:总结

250pts 1003010020 好的地方是没有挂分吧 T4还用假复杂度过了20 但是T2其实是可做的 关键就是对模型的转化 换个角度考虑每条边的贡献 思路就豁然开朗了 T4确实是神仙题 不太可做 qwq 加油吧OvO

[TJOI2018]智力竞赛 (匈牙利)

description 题目描述 小豆报名参加智力竞赛&#xff0c;他带上了 n个好朋友作为亲友团一块来参加比赛。 比赛规则如下&#xff1a;一共有 m道题目&#xff0c;每个人都有 1 次答题机会&#xff0c;每次答题为选择一道题目回答&#xff0c;在回答正确后&#xff0c;可以从这个…

P6944-[ICPC2018 WF]Gem Island【数学期望,dp】

正题 题目链接:https://www.luogu.com.cn/problem/P6944 题目大意 有nnn颗不同颜色的宝石&#xff0c;每次随机选择一颗复制&#xff0c;重复ddd次&#xff0c;求最后宝石数前rrr的颜色的宝石数之和的期望值。 1≤r≤n,d≤3001\leq r\leq n,d\leq 3001≤r≤n,d≤300 解题思路…

Educational Codeforces Round 107 (Rated for Div. 2)

Educational Codeforces Round 107 (Rated for Div. 2) 题号题目知识点AReview Site签到BGCD Length思维构造CYet Another Card Deck思维DMin Cost String构造题EColorings and Dominoes思维题&#xff0c;构造题FChainwordGChips on a Board A 题意&#xff1a; 有3种评论员…

ASP.NET Core如何在ActionFilterAttribute里做依赖注入

点击蓝字关注我在ASP.NET Core里&#xff0c;我们可以使用构造函数注入很方便地对Controller&#xff0c;ViewComponent等部件做依赖注入。但是如何给过滤器ActionFilterAttribute也用上构造函数注入呢&#xff1f;问题我的博客系统里有个用来删除订阅文件缓存的ActionFilter&a…

NOIP2012:疫情控制(二分、贪心、树上倍增)

解析 二分的单调性较为明显&#xff0c;一路推导下去的性质都不算太难想&#xff0c;正解的思路还是不难想到的 但从头到尾都实现很考验思维的严密性和代码能力 然后我就双重被考验挂了qwq 第一交的时候一个地方把倍增的dis数组写成pl&#xff0c;判断封口也有问题… 但竟然有…

[八省联考2018]劈配 (匈牙利)

description 一年一度的综艺节目《中国新代码》又开始了。Zayid 从小就梦想成为一名程序员&#xff0c;他觉得这是一个展示自己的舞台&#xff0c;于是他毫不犹豫地报名了。 轻车熟路的 Zayid 顺利地通过了海选&#xff0c;接下来的环节是导师盲选&#xff0c;这一阶段的规则…

Codeforces Round #715 (Div. 2)

Codeforces Round #715 (Div. 2) 题号题目知识点AAverage HeightBTMT DocumentCThe Sports Festival区间dpDBinary Literature构造题EAlmost SortedFComplete the MST A 题意&#xff1a; 如果两个相邻的数的和是偶数&#xff0c;则贡献为1 如何排序使得贡献值最大 题解&am…

YbtOJ-森林之和【dp】

正题 题目大意 一个节点的权值定义为它度数的平方&#xff0c;求所有nnn个点的有标号森林的所有节点权值和。 1≤n,T≤51031\leq n,T\leq 5\times 10^31≤n,T≤5103 解题思路 首先因为所有节点本质相同&#xff0c;所以我们可以只考虑一个节点所有情况下的权值和。 然后考虑…

CF1322B:Present(异或、two pointers)

解析 想到了按位&#xff0c;但卡在了进位… qwq 当时总是想一位一位往后转化&#xff0c;但是那样确实做不了 判断第k位时把每个数的前k-1位提出来 sort一下 再维护双指针&#xff0c;就可以很方便的统计进位的个数了 代码 #include<bits/stdc.h> using namespace st…