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

简介:
               本博客所有文章分类的总目录:【总目录】本博客博文总目录-实时更新 

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

前言

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

如果本文资源或者显示有问题,请参考 本文原文地址http://www.cnblogs.com/asxinyu/p/4268626.html

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

4.资源

  源码下载:参考官方网站

  如果本文资源或者显示有问题,请参考 本文原文地址http://www.cnblogs.com/asxinyu/p/4268626.html

相关文章
|
2月前
|
XML 前端开发 C#
C#编程实践:解析HTML文档并执行元素匹配
通过上述步骤,可以在C#中有效地解析HTML文档并执行元素匹配。HtmlAgilityPack提供了一个强大而灵活的工具集,可以处理各种HTML解析任务。
176 19
|
6月前
|
存储 算法 安全
如何控制上网行为——基于 C# 实现布隆过滤器算法的上网行为管控策略研究与实践解析
在数字化办公生态系统中,企业对员工网络行为的精细化管理已成为保障网络安全、提升组织效能的核心命题。如何在有效防范恶意网站访问、数据泄露风险的同时,避免过度管控对正常业务运作的负面影响,构成了企业网络安全领域的重要研究方向。在此背景下,数据结构与算法作为底层技术支撑,其重要性愈发凸显。本文将以布隆过滤器算法为研究对象,基于 C# 编程语言开展理论分析与工程实践,系统探讨该算法在企业上网行为管理中的应用范式。
182 8
|
6月前
|
存储 监控 算法
解析公司屏幕监控软件中 C# 字典算法的数据管理效能与优化策略
数字化办公的时代背景下,企业为维护信息安全并提升管理效能,公司屏幕监控软件的应用日益普及。此软件犹如企业网络的 “数字卫士”,持续记录员工电脑屏幕的操作动态。然而,伴随数据量的持续增长,如何高效管理这些监控数据成为关键议题。C# 中的字典(Dictionary)数据结构,以其独特的键值对存储模式和高效的操作性能,为公司屏幕监控软件的数据管理提供了有力支持。下文将深入探究其原理与应用。
155 4
|
7月前
|
机器学习/深度学习 监控 算法
员工上网行为监控软件中基于滑动窗口的C#流量统计算法解析​
在数字化办公环境中,员工上网行为监控软件需要高效处理海量网络请求数据,同时实时识别异常行为(如高频访问非工作网站)。传统的时间序列统计方法因计算复杂度过高,难以满足低延迟需求。本文将介绍一种基于滑动窗口的C#统计算法,通过动态时间窗口管理,实现高效的行为模式分析与流量计数。
192 2
|
9月前
|
存储 算法 安全
.NET 平台 SM2 国密算法 License 证书生成深度解析
授权证书文件的后缀通常取决于其编码格式和具体用途。本文档通过一个示例程序展示了如何在 .NET 平台上使用国密 SM2 算法生成和验证许可证(License)文件。该示例不仅详细演示了 SM2 国密算法的实际应用场景,还提供了关于如何高效处理大规模许可证文件生成任务的技术参考。通过对不同并发策略的性能测试,开发者可以更好地理解如何优化许可证生成流程,以满足高并发和大数据量的需求。 希望这段描述更清晰地传达了程序的功能和技术亮点。
1067 14
.NET 平台 SM2 国密算法 License 证书生成深度解析
|
8月前
|
Shell 网络安全 C#
一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!
一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!
271 4
|
8月前
|
开发框架 .NET 中间件
.net8 使用 license 证书授权案例解析
本文介绍了如何使用 `.NET CLI` 创建并改造一个 `ASP.NET Core Web API` 项目,以实现基于许可证的授权机制。具体步骤包括创建项目、添加必要的 NuGet 包(如 `Standard.Licensing` 和 `Swashbuckle.AspNetCore`),以及修改 `Program.cs` 文件以集成自定义的许可证验证中间件。项目结构中新增了 `LicenseController` 接口用于处理授权相关操作,并通过测试流程验证了默认天气接口在未授权和授权状态下的响应情况。整个过程确保了应用程序能够在启动时正确验证许可证,保障系统的安全性与可控性。
406 8
.net8 使用 license 证书授权案例解析
|
8月前
|
监控 算法 安全
基于 C# 的内网行为管理软件入侵检测算法解析
当下数字化办公环境中,内网行为管理软件已成为企业维护网络安全、提高办公效率的关键工具。它宛如一位恪尽职守的网络守护者,持续监控内网中的各类活动,以确保数据安全及网络稳定。在其诸多功能实现的背后,先进的数据结构与算法发挥着至关重要的作用。本文将深入探究一种应用于内网行为管理软件的 C# 算法 —— 基于二叉搜索树的入侵检测算法,并借助具体代码例程予以解析。
145 4
|
9月前
|
人工智能 自然语言处理 数据中心
D1net阅闻|DeepSeek开源放大招:FlashMLA让H800算力狂飙!曝光低成本秘笈
D1net阅闻|DeepSeek开源放大招:FlashMLA让H800算力狂飙!曝光低成本秘笈
|
10月前
|
开发框架 前端开发 .NET
一个适用于 .NET 的开源整洁架构项目模板
一个适用于 .NET 的开源整洁架构项目模板
184 26

热门文章

最新文章

推荐镜像

更多
  • DNS