代码拉取完成,页面将自动刷新
##C# project for reading and writing CSVs
Fast streaming CSV parser. Libraries for easy reading, writing, and manipulation of CSV files. Is able to handle:
IEnumerable<T>
It's an easier data table than System.Data.DataTable
.
The following nuget packages are available:
A few quick examples:
Download as CsvTools from Nuget to include in your C# project:
using DataAccess;
// See methods on DataTable.New for loading a DataTable.
var dt = DataTable.New.ReadLazy(filename); // Fast streaming load a CSV from disk.
Get a mutable datatable:
MutableDataTable dt = DataTable.New.ReadCsv(filename); // load entire CSV into memory for mutation
int totalRows = dt.NumRows;
// Includes mutation methods like:
// CreateColumn, ReorderColumn, KeepColumns, RenameColumn,
// GetRow(int rowIndex), KeepRows(Func<T, bool> predicate)
dt.SaveCsv(filename); // write back out
Linq against the rows:
var y = from row in dt.Rows where row["N"] == "3" select row["NSquared"];
Linq with strongly-typed parsing, using
RowAs<T>()
method:
class Entry
{
public int N { get; set; }
public int NSquared { get; set; }
}
int y = (from row in dt.RowsAs<Entry>() where row.N == 3 select row.NSquared).First();
Create a table around an
IEnumerable
and then save back as a CSV:
var x = from i in Enumerable.Range(1, 5) select new { N = i, NSquared = i * i };
DataTable dt = DataTable.New.FromEnumerable(x);
dt.SaveToStream(Console.Out); // write back out as a CSV
Also includes support for reading an excel file (.xlsx):
var dt = DataTable.New.ReadExcel(@"c:\temp\foo.xlsx");
var names = from row in dt.Rows where int.Parse(row["age"]) > 10 select row["Name"];
See here for more about reading excel.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。