前言

  上一篇文章,我们介绍了使用C#读写Matlab的Mat数据格式和通用的Matrix Market数据格式。今天还要介绍一个Math.NET读取Delimited Formats数据格式的例子。Delimited Formats(也称DSV) 数据格式也是一种比较常见的数据存储和交换格式,和CSV格式也有些类似。

1.Delimited Formats格式介绍

  Delimited Formats是一个使用分隔符, 保存二维矩阵数据的数据格式文件。每一行数据都使用分隔符分割。很多数据库和电子表格程序都支持该格式。可以参加维基百科的相关资料:

http://en.wikipedia.org/wiki/Delimiter-separated_values#Uses_and_applications

该格式的例子如下:

"Date","Pupil","Grade"
"25 May","Bloggs, Fred","C"
"25 May","Doe, Jane","B"
"15 July","Bloggs, Fred","A"
"15 April","Muniz, Alvin ""Hank""","A"

2.C#读取Delimited Formats格式文件

  本文还是使用Math.NET提供的程序,只不过对其结构和使用进行分析。C#读取的返回值的矩阵或者向量格式也都是Math.NET中的类型。C#读取Delimited Formats文件的主要类型是DelimitedReader,在MathNet.Numerics.Data.Text项目中,而其中的方法也都是静态方法,由于Delimited Formats本省就是保存二维矩阵的,所有该类也只有读取为Matrix矩阵类型的静态方法,方法原型如下:

1 public static Matrix<T> Read<T>(TextReader reader, bool sparse = false, string delimiter = @"\s",bool hasHeaders = false,IFormatProvider formatProvider = null, T? missingValue = null) where T : struct,IEquatable<T>, IFormattable
2
3 public static Matrix<T> Read<T>(string filePath, bool sparse = false, string delimiter = @"\s", bool hasHeaders = false,IFormatProvider formatProvider=null,T? missingValue = null)where T:struct,IEquatable<T>,IFormattable
4
5 public static Matrix<T> Read<T>(Stream stream, bool sparse = false, string delimiter = @"\s",bool hasHeaders = false,IFormatProvider formatProvider = null,T? missingValue = null) where T:struct,IEquatable<T>, IFormattable

3.C#保存数据为Delimited Formats格式

C#矩阵文件写入Delimited Formats文件的方法和上面的读取类似,使用的是DelimitedWriter类的静态方法,支持写入矩阵和向量,方法原型如下:

1 public static void Write<T>(TextWriter writer, Matrix<T> matrix, string delimiter = "\t",IList<string> columnHeaders = null,string format=null,IFormatProvider formatProvider=null,T?missingValue=null) where T:struct,IEquatable<T>,IFormattable
2
3 public static void Write<T>(string filePath, Matrix<T> matrix, string delimiter = "\t",IList<string> columnHeaders = null,string format=null,IFormatProvider formatProvider=null,T?missingValue=null) where T:struct,IEquatable<T>,IFormattable
4
5 public static void Write<T>(Stream stream, Matrix<T> matrix, string delimiter = "\t", IList<string> columnHeaders = null,string format=null,IFormatProvider formatProvider=null,T?missingValue=null) where T:struct,IEquatable<T>,IFormattable

5 开源Math.NET基础数学类库使用 C#解析Delimited Formats数据格式相关推荐

  1. 开源Math.NET基础数学类库使用(13)C#实现其他随机数生成器

    原文:[原创]开源Math.NET基础数学类库使用(13)C#实现其他随机数生成器                本博客所有文章分类的总目录:http://www.cnblogs.com/asxiny ...

  2. 开源Math.NET基础数学类库使用(11)C#计算相关系数

    阅读目录 前言 1.Math.NET计算相关系数的类 2.Correlation的实现 3.使用案例 4.资源                本博客所有文章分类的总目录:[总目录]本博客博文总目录-实 ...

  3. 【原创】开源Math.NET基础数学类库使用(06)直接求解线性方程组

    阅读目录 前言 1.数值分析与线性方程 2.Math.NET解线性方程源码分析 3.Math.NET求解线性方程的实例 4.资源                本博客所有文章分类的总目录:[总目录]本 ...

  4. 【原创】开源Math.NET基础数学类库使用(14)C#生成安全的随机数

                   本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新  开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 前言 ...

  5. 开源Math.NET基础数学类库使用(04)C#解析Matrix Marke数据格式

    原文:[原创]开源Math.NET基础数学类库使用(04)C#解析Matrix Marke数据格式 开源Math.NET基础数学类库使用系列文章总目录:   1.开源.NET基础数学计算组件Math. ...

  6. 【原创】开源Math.NET基础数学类库使用(05)C#解析Delimited Formats数据格式

                   本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新  开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 前言 ...

  7. 开源Math.NET基础数学类库使用(03)C#解析Matlab的mat格式

    开源Math.NET基础数学类库使用(03)C#解析Matlab的mat格式 原文:[原创]开源Math.NET基础数学类库使用(03)C#解析Matlab的mat格式 开源Math.NET基础数学类 ...

  8. 【原创】开源Math.NET基础数学类库使用(04)C#解析Matrix Marke数据格式

                   本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新  开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 前言 ...

  9. 开源Math.NET基础数学类库使用(01)综合介绍

    该文章为转载文章,原文文章地址,请点击此处. 前言 几年前接触这个组件的时候,只需要在.NET平台进行一些常规的微积分计算,功能还比较少,只限于常规的数值计算,现在已经功能越来越多了,应该是目前最好的 ...

最新文章

  1. 将前台日期格式转成与数据库日期格式相对应,后台java转数据库日期格式
  2. linux下Tomcat开机自动启动!
  3. 有关中断唤醒源的思考
  4. 手把手教你用7行代码实现微信聊天机器人 -- Python wxpy
  5. Java基础题笔记1
  6. (一)关于NLP的概念和处理过程
  7. 20145335郝昊《网络攻防》Exp4 Adobe阅读器漏洞攻击
  8. FSA-Net环境配置
  9. 由淘宝鼠标经过显示头像想起的 定位分析
  10. .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  11. android仿网易云音乐引导页、仿书旗小说Flutter版、ViewPager切换、风扇叶片效果等源码...
  12. 深度学习 图像识别 四
  13. Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location: “/zhu“
  14. 转义字符的意义何在?
  15. python爬虫之正则表达式(爬取妹子网图片)
  16. 第十三届蓝桥杯大赛软件赛省赛(C/C++ 大学B组)
  17. mybatis ehcache二级缓存命中率为0的原因,以及一级缓存与二级缓存之间的顺序
  18. 费用核算,2011-08-27
  19. python程序中止和恢复_用来中止进程的python脚本(Win32)
  20. Python爬取科目四考试题库(2021.2.6)

热门文章

  1. 大专学历计算机专业可以积分,持有大专紧缺急需专业可直接申请上海居住证积分?...
  2. linux之lsv—NAT配置
  3. sap Payment Terms Terms of payment 收付款条件
  4. 稍加改进的Switch/Case扩展方法
  5. 稻城亚丁徒步攻略,与你共同感受这片净土
  6. Qt 笔锋 毛笔 钢笔 蜡笔 4k流畅画笔 Demo
  7. 万级并发服务器内核调优总结
  8. 外卖优惠券公众号怎么做回复小程序链接
  9. 朱松纯:走向通用人工智能——从大数据到大任务
  10. 假设web应用的文档根目录为MyApp,那么可以从哪里找到database.jar文件。