博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【原创】开源Math.NET基础数学类库使用(05)C#解析Delimited Formats数据格式
阅读量:5928 次
发布时间:2019-06-19

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

阅读目录

               本博客所有文章分类的总目录: 

开源Math.NET基础数学类库使用总目录:

前言

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

如果本文资源或者显示有问题,请参考 :

1.Delimited Formats格式介绍

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

该格式的例子如下:

"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
Read
(TextReader reader, bool sparse = false, string delimiter = @"\s", bool hasHeaders = false,IFormatProvider formatProvider = null, T? missingValue = null) where T : struct,IEquatable
, IFormattable2 3 public static Matrix
Read
(string filePath, bool sparse = false, string delimiter = @"\s", bool hasHeaders = false,IFormatProvider formatProvider=null, T? missingValue = null)where T:struct,IEquatable
,IFormattable4 5 public static Matrix
Read
(Stream stream, bool sparse = false, string delimiter = @"\s", bool hasHeaders = false,IFormatProvider formatProvider = null, T? missingValue = null) where T:struct,IEquatable
, IFormattable

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

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

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

4.资源

  源码下载:参考官方网站

本文转自数据之巅博客园博客,原文链接:http://www.cnblogs.com/asxinyu/p/dotnet_Opensource_MathNet_Parse_Delimited_Formate_5.html,如需转载请自行联系原作者

你可能感兴趣的文章
SOA体系结构之基础培训教程-大纲篇
查看>>
Linux之strace
查看>>
Linux环境SVN命令行使用经验总结(转)
查看>>
使用HtmlAgilityPack抓取网页数据
查看>>
Java Synchronized Blocks vs. Methods
查看>>
java08 Set
查看>>
Android开发被添加到桌面快捷方式
查看>>
Linux通过编辑器vi使用介绍
查看>>
HDU 5486 Difference of Clustering 图论
查看>>
【转】Android:控件Spinner实现下拉列表
查看>>
JavaScript概要
查看>>
Windows8.1硬盘安装Ubuntu14.04双系统参考教程和多硬盘的注意事项[画画]
查看>>
理解SerDes 之一
查看>>
严格模式
查看>>
SharePoint API测试系列——对Recorded Item做OM操作(委托的妙用)
查看>>
每天一个linux命令(1):ls命令
查看>>
android 24 设置与桌面相同的action和category
查看>>
<时间的玫瑰>读书笔记
查看>>
每天一个linux命令(22):find 命令的参数详解
查看>>
Javascript调试利器console的使用
查看>>