PocketCsvReader 2.13.0
dotnet add package PocketCsvReader --version 2.13.0
NuGet\Install-Package PocketCsvReader -Version 2.13.0
<PackageReference Include="PocketCsvReader" Version="2.13.0" />
paket add PocketCsvReader --version 2.13.0
#r "nuget: PocketCsvReader, 2.13.0"
// Install PocketCsvReader as a Cake Addin #addin nuget:?package=PocketCsvReader&version=2.13.0 // Install PocketCsvReader as a Cake Tool #tool nuget:?package=PocketCsvReader&version=2.13.0
PocketCsvReader
PocketCsvReader is a highly efficient and lightweight library tailored for parsing delimited flat files like CSV and TSV. With a focus on simplicity and performance, it offers seamless file reading and supports versatile outputs, including DataTables, string arrays, strongly-typed object mapping and an IDataReader interface. Designed for projects requiring rapid data ingestion with minimal configuration, PocketCsvReader is a dependable solution for handling structured flat-file data effortlessly.
About | Install | Quick-start
About
Continuous integration builds:
Install
Replace <VersionNumber>
with the desired version in each of the following solutions. If no version is specified, the latest version will be installed.
NuGet CLI
Open a command prompt or terminal.
Run the following command:
nuget install PocketCsvReader -Version <VersionNumber>
Visual Studio Package Manager Console
Open the Package Manager Console from Tools > NuGet Package Manager > Package Manager Console.
Run the following command:
Install-Package PocketCsvReader -Version <VersionNumber>
Dotnet-CLI
Open a terminal or command prompt.
Navigate to the directory of your project.
Run the following command:
dotnet add package PocketCsvReader --version <VersionNumber>
Quick-start
The CsvReader
class is a flexible and efficient tool for reading and parsing CSV files or streams into various formats, such as DataTable
, IDataReader
, or strongly-typed objects. This documentation explains the basics of how to use the class, including common use cases and examples.
Features
- Read CSV files or streams into a
DataTable
. - Access CSV data in a forward-only, read-only manner using
IDataReader
. - Map CSV records to strongly-typed objects.
- Map CSV records to array of strings.
- Customizable CSV parsing profiles for delimiters, quote handling, and more.
- Supports encoding detection through the
IEncodingDetector
interface.
Initialization
You can create an instance of CsvReader
with various configurations:
// Default configuration: comma-delimited, double quotes for escaping, 4 KB buffer size.
var csvReader = new CsvReader();
// Custom CSV profile (e.g., semicolon-delimited, double quotes for escaping).
var csvReaderWithProfile = new CsvReader(CsvProfile.SemiColumnDoubleQuote);
// Custom buffer size for large files.
var csvReaderWithBuffer = new CsvReader(bufferSize: 64 * 1024);
// Both custom profile and buffer size.
var csvReaderCustom = new CsvReader(CsvProfile.SemiColumnDoubleQuote, bufferSize: 16 * 1024);
Reading CSV Data
Reading Into a DataTable
The ToDataTable
method reads CSV data and returns a DataTable
containing all rows and fields.
DataTable dataTable = csvReader.ToDataTable("example.csv");
or to read from a stream,
using var stream = new FileStream("example.csv", FileMode.Open, FileAccess.Read);
DataTable dataTable = csvReader.ToDataTable(stream);
Accessing Data with IDataReader
The ToDataReader
method provides a forward-only, read-only IDataReader
for processing large files efficiently.
using var stream = new FileStream("example.csv", FileMode.Open, FileAccess.Read);
using var reader = csvReader.ToDataReader(stream);
while (reader.Read())
{
Console.WriteLine(reader[0]); // Access the first column of the current row.
}
Reading as Arrays
using var stream = new FileStream("example.csv", FileMode.Open, FileAccess.Read);
foreach (var record in csvReader.ToArrayString(stream))
{
Console.WriteLine(string.Join(", ", record));
}
Mapping Records to Strongly-Typed Objects
The To<T>
method maps CSV records to objects of a specified type.
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
}
using var stream = new FileStream("example.csv", FileMode.Open, FileAccess.Read);
IEnumerable<Person> people = csvReader.To<Person>(stream);
foreach (var person in people)
{
Console.WriteLine($"{person.FirstName} {person.LastName}, Age: {person.Age}");
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. 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. net9.0 is compatible. |
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (3)
Showing the top 3 NuGet packages that depend on PocketCsvReader:
Package | Downloads |
---|---|
NBi.Framework
This package contains the NBi framework and references each dll to your project. This package is not intended to be directly used by end-users willing to create test-suites. Check the package NBi.VisualStudio, if you want to facilitate the usage of NBi from Visual Studio. NBi is a testing framework (add-on to NUnit) for Business Intelligence and Data Quality. It supports the Microsoft Data platform (SQL Server Database engine, SSIS, SSAS, SSRS) but also MySQL, PostgreSQL and other NoSQL solutions. |
|
NBi.Framework.Tools
This package contains the NBi framework and references each dll to your project. This package is not intended to be directly used by end-users willing to create test-suites. Check the package NBi.VisualStudio, if you want to facilitate the usage of NBi from Visual Studio. NBi is a testing framework (add-on to NUnit) for Business Intelligence and Data Quality. It supports the Microsoft Data platform (SQL Server Database engine, SSIS, SSAS, SSRS) but also MySQL, PostgreSQL and other NoSQL solutions. |
|
Didot.Core
Package Description |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on PocketCsvReader:
Repository | Stars |
---|---|
Seddryck/NBi
NBi is a testing framework (add-on to NUnit) for Business Intelligence and Data Access. The main goal of this framework is to let users create tests with a declarative approach based on an Xml syntax. By the means of NBi, you don't need to develop C# or Java code to specify your tests! Either, you don't need Visual Studio or Eclipse to compile your test suite. Just create an Xml file and let the framework interpret it and play your tests. The framework is designed as an add-on of NUnit but with the possibility to port it easily to other testing frameworks.
|
Version | Downloads | Last updated |
---|---|---|
2.13.0 | 104 | 12/22/2024 |
2.12.0 | 125 | 12/21/2024 |
2.11.1 | 138 | 12/17/2024 |
2.11.0 | 113 | 12/15/2024 |
2.10.0 | 70 | 12/14/2024 |
2.9.7 | 77 | 12/13/2024 |
2.9.4 | 181 | 11/30/2024 |
2.9.3 | 81 | 11/30/2024 |
2.9.2 | 75 | 11/30/2024 |
2.9.0 | 80 | 11/30/2024 |
2.8.2 | 100 | 11/24/2024 |
2.8.1 | 98 | 11/23/2024 |
2.8.0 | 189 | 11/17/2024 |
2.7.1 | 80 | 11/16/2024 |
2.7.0 | 78 | 11/16/2024 |
2.6.0 | 86 | 11/16/2024 |
2.5.2 | 88 | 11/16/2024 |
2.5.1 | 88 | 11/15/2024 |
2.5.0 | 88 | 11/15/2024 |
2.4.3 | 84 | 11/14/2024 |
2.4.2 | 87 | 11/12/2024 |
2.4.1 | 85 | 11/11/2024 |
2.4.0 | 89 | 11/10/2024 |
2.3.1 | 93 | 11/10/2024 |
2.3.0 | 100 | 11/9/2024 |
2.2.1 | 88 | 11/8/2024 |
2.2.0 | 93 | 11/7/2024 |
2.0.1 | 88 | 11/6/2024 |
2.0.0 | 95 | 7/31/2024 |
1.1.0-beta.1 | 425 | 3/26/2019 |
1.0.0 | 48,349 | 3/26/2019 |
0.1.0-beta.9 | 418 | 2/4/2019 |
0.1.0-beta.8 | 385 | 1/20/2019 |
0.1.0-beta.7 | 386 | 1/17/2019 |
0.1.0-beta.6 | 442 | 1/16/2019 |
0.1.0-beta.4 | 411 | 1/15/2019 |
0.1.0-beta.3 | 400 | 1/15/2019 |
0.1.0-beta.2 | 403 | 1/15/2019 |
0.1.0-beta.1 | 399 | 1/7/2019 |