Sylvan.Data.Csv 1.3.2-b0001

Prefix Reserved
This is a prerelease version of Sylvan.Data.Csv.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Sylvan.Data.Csv --version 1.3.2-b0001                
NuGet\Install-Package Sylvan.Data.Csv -Version 1.3.2-b0001                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sylvan.Data.Csv" Version="1.3.2-b0001" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Sylvan.Data.Csv --version 1.3.2-b0001                
#r "nuget: Sylvan.Data.Csv, 1.3.2-b0001"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Sylvan.Data.Csv as a Cake Addin
#addin nuget:?package=Sylvan.Data.Csv&version=1.3.2-b0001&prerelease

// Install Sylvan.Data.Csv as a Cake Tool
#tool nuget:?package=Sylvan.Data.Csv&version=1.3.2-b0001&prerelease                

Sylvan.Data.Csv

A cross-platform .NET library for reading and writing CSV data files. The CsvDataReader provides readonly, row by row, forward-only access to the data. Exposes a familiar API via DbDataReader, which is ideal for accessing rectangular, tabular data sets. Sylvan.Data.Csv is currently the fastest library for reading CSV data in the .NET ecosystem.

Features

  • Auto detect delimiters.
  • Supports asynchronous IO.
  • Strongly-typed accessors that avoid allocations.
    • Supported types includes all standard .NET primitive types, DateOnly and TimeOnly on .NET 6,
    • Binary data encoded with either base64 or hexadecimal.
  • Schema information to support database bulk-load operations.

Usage Examples

Basic

using Sylvan.Data.Csv;

// CsvDataReader derives from System.Data.DbDataReader
using CsvDataReader dr = CsvDataReader.Create("data.csv");

// iterate over the rows in the file.
while(dr.Read())
{
	// iterate fields in row.
	for(int i = 0; i < dr.FieldCount; i++)
	{
		var value = dr.GetString(i);
	}
	// Can use other strongly-typed accessors
	// bool flag = edr.GetBoolean(0);
	// DateTime date = edr.GetDateTime(1);
	// decimal amt = edr.GetDecimal(2);
}

Bind CSV data to objects using Sylvan.Data.

using Sylvan.Data;
using Sylvan.Data.Csv;
using System.Linq;

using var dr = CsvDataReader.Create("data.csv");
IEnumerable<Record> records = dr.GetRecords<Record>();
Record[] allRecords = records.ToArray();

class Record {
	public int Id { get; set; }
	public string Name { get; set; }
	public DateTime Date { get; set; }
	public decimal Amount { get; set; }
}

Convert Excel data to CSV using Sylvan.Data and Sylvan.Data.Excel

using Sylvan.Data;
using Sylvan.Data.Csv;
using Sylvan.Data.Excel;
using System.Data.Common;

// create reader for excel data file
ExcelDataReader edr = ExcelDataReader.Create("example.xlsx");

// (optional) create data reader which allows variable-length rows
DbDataReader reader = edr.AsVariableField(edr => edr.RowFieldCount);

// create CSV writer to standard out
var csvWriter = CsvDataWriter.Create(Console.Out);

// write excel data as csv
csvWriter.Write(reader);
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

    • No dependencies.
  • .NETStandard 2.1

    • No dependencies.
  • net6.0

    • No dependencies.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on Sylvan.Data.Csv:

Package Downloads
cai.reporting

Provides helpers to generate report using FastReport

Purcell

一个超高性能的Excel强类型读写映射库。(支持.xls .xlsx .csv)

Sylvan.AspNetCore.Mvc.Csv

Package Description

EgsLib

.Net library for interacting with Empyrion Galactic Survival

AEMO.MDFF

Parser for Australian Energy Market Operator (AEMO) Meter Data File Format (MDFF) specification

GitHub repositories (4)

Showing the top 4 popular GitHub repositories that depend on Sylvan.Data.Csv:

Repository Stars
LykosAI/StabilityMatrix
Multi-Platform Package Manager for Stable Diffusion
nietras/Sep
World's Fastest .NET CSV Parser. Modern, minimal, fast, zero allocation, reading and writing of separated values (`csv`, `tsv` etc.). Cross-platform, trimmable and AOT/NativeAOT compatible.
JasonBock/Rocks
A mocking library based on the Compiler APIs (Roslyn + Mocks)
MarkPflug/Sylvan.Data.Excel
The fastest .NET library for reading Excel data files.
Version Downloads Last updated
1.3.9 97,784 7/2/2024
1.3.8 65,325 4/23/2024
1.3.7 90,865 2/10/2024
1.3.6 1,754 2/6/2024
1.3.6-b0001 82 2/5/2024
1.3.5 102,300 11/3/2023
1.3.4 1,021 11/2/2023
1.3.3 122,187 7/17/2023
1.3.2 42,102 6/6/2023
1.3.2-b0001 151 5/30/2023
1.3.1 13,695 5/7/2023
1.3.0 23,592 4/25/2023
1.2.7 106,778 2/15/2023
1.2.6 855 2/13/2023
1.2.6-b0003 296 2/10/2023
1.2.6-b0002 217 2/8/2023
1.2.6-b0001 144 2/7/2023
1.2.5 8,019 1/16/2023
1.2.4 187,838 10/25/2022
1.2.3 916 10/21/2022
1.2.2 35,307 9/12/2022
1.2.1 891 9/8/2022
1.2.0 17,347 8/28/2022
1.1.16 217,678 6/14/2022
1.1.15 1,237 6/2/2022
1.1.14 927 6/1/2022
1.1.13 126,517 3/31/2022
1.1.12 35,860 2/18/2022
1.1.11 23,553 1/5/2022
1.1.10 4,678 12/9/2021
1.1.9 12,983 10/23/2021
1.1.8 20,179 9/8/2021
1.1.7 2,993 8/14/2021
1.1.6 732 8/13/2021
1.1.5 799 8/8/2021
1.1.4 969 8/5/2021 1.1.4 is deprecated because it has critical bugs.
1.1.3 3,549 7/23/2021
1.1.2 780 7/19/2021
1.1.1 852 7/15/2021 1.1.1 is deprecated because it has critical bugs.
1.1.0 830 7/14/2021 1.1.0 is deprecated because it has critical bugs.
1.0.3 2,425 5/21/2021
1.0.2 769 5/15/2021
1.0.1 1,585 5/4/2021
1.0.0 929 4/5/2021
0.10.1 785 3/27/2021
0.10.0 1,040 3/15/2021
0.9.2 914 1/31/2021
0.9.1 781 1/25/2021
0.9.0 974 1/9/2021
0.8.3 735 1/6/2021
0.8.2 800 1/4/2021
0.8.1 741 1/3/2021
0.8.0 889 11/30/2020
0.7.4 809 9/28/2020
0.7.2 4,216 9/11/2020
0.7.0 883 9/10/2020
0.6.3 876 8/10/2020
0.6.2 882 8/7/2020
0.6.1 831 8/4/2020
0.6.0 883 8/3/2020
0.5.0 901 6/30/2020
0.4.5 882 6/25/2020
0.4.4 872 6/25/2020
0.4.3 1,122 6/10/2020
0.4.2 1,002 5/29/2020
0.4.1 867 5/2/2020
0.4.0 898 4/29/2020
0.3.4 936 4/21/2020
0.3.3 897 4/16/2020
0.3.2 802 4/15/2020
0.3.1 853 4/13/2020
0.3.0 845 4/10/2020
0.2.1 974 4/7/2020
0.2.0 837 4/7/2020
0.1.2 876 4/7/2020
0.1.1 838 4/6/2020
0.1.0 2,486 4/4/2020