Runiq.Data
1.1.0
dotnet add package Runiq.Data --version 1.1.0
NuGet\Install-Package Runiq.Data -Version 1.1.0
<PackageReference Include="Runiq.Data" Version="1.1.0" />
<PackageVersion Include="Runiq.Data" Version="1.1.0" />
<PackageReference Include="Runiq.Data" />
paket add Runiq.Data --version 1.1.0
#r "nuget: Runiq.Data, 1.1.0"
#:package Runiq.Data@1.1.0
#addin nuget:?package=Runiq.Data&version=1.1.0
#tool nuget:?package=Runiq.Data&version=1.1.0
Runiq.Data
Runiq.Data is a DataFrame and data processing library built for .NET developers.
It lets you create, transform, analyze, reshape, import, and export structured data using C# and the .NET ecosystem.
Why Runiq.Data?
- Process structured data without leaving C# and .NET
- Create, filter, sort, group, aggregate, join, pivot, and reshape DataFrames
- Use ranking, navigation, partition, running, and moving window calculations
- Read and write CSV, Excel, and JSON files
- Read SQL query results and append DataFrame rows to existing SQL tables
Installation
NuGet CLI:
dotnet add package Runiq.Data
Package Manager Console:
Install-Package Runiq.Data
Quick Start
using Runiq.Data;
var data = DataFrame.Create(new
{
Department = new[] { "Engineering", "Sales", "Engineering" },
Revenue = new[] { 120000, 80000, 150000 }
});
var result = data
.GroupBy("Department")
.Aggregate(aggregation => aggregation
.For("Revenue")
.Sum()
.Average());
Console.WriteLine(result);
What you can build
Shape and transform data
Create DataFrames, add or remove rows and columns, filter, sort, join, copy, pivot, and unpivot structured data.
Group and analyze
Use Sum, Average, Min, Max, GroupBy, grouped aggregations, PivotTable, and distinct operations.
Calculate across rows
Use RowNumber, Rank, DenseRank, Lag, Lead, FirstValue, LastValue, partition aggregations, running calculations, and moving calculations.
Connect your data
Read and write CSV, Excel, and JSON files. Read SQL query results and append DataFrame rows to existing SQL tables.
Short examples
Pivot
var result = data.Pivot(
index: "Department",
columns: "Quarter",
values: "Revenue");
Window function
var rank = data
.Window()
.PartitionBy("Department")
.OrderByDescending("Revenue")
.Rank();
data.Columns.Add("Rank", rank);
SQL
var data = DataFrame.ReadSql(connection, query);
data.WriteSql(
connection,
"Reporting.MonthlyRevenue");
Documentation
Read the full documentation at runiq.net/docs/data.
Samples
- CSV - Read, write, and round-trip CSV files
- Excel - Read and write
.xlsxworkbooks - JSON - Write, read, and format JSON data
- SQL - Read SQL query results and append rows with SQLite
- Pivoting - Pivot, PivotTable, and Unpivot
- Windowing - Ranking, navigation, partition, running, and moving calculations
SQL Support
SQL support uses provider-independent ADO.NET APIs. You can read query results from a DbConnection and command text, read from a DbCommand, and append DataFrame rows to an existing table through a DbConnection.
SQL behavior is validated with SQLite, SQL Server, and PostgreSQL. SQL writing appends to existing tables; it does not create, replace, upsert, or bulk insert tables.
Validation
- CI runs through the repository GitHub Actions workflow
- Full solution test suite passes
- Zero compiler and analyzer warnings
- SQL behavior validated with SQLite, SQL Server, and PostgreSQL
Development
dotnet build Runiq.Data.sln
dotnet test Runiq.Data.sln
License
Runiq.Data is licensed under the MIT License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- ClosedXML (>= 0.105.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.