嗨,我正在使用csvHelper读取具有可变列数的csv文件.第一行始终包含标题行.列数最初是未知的,有时有三列,有时有30多列.行数可以很大.我可以在csv文件中读取,但是如何处理每列数据.我需要对数据做一些基本的统计(例如min,max,stddev),然后以非csv格式写出来.这是我到目前为止的代码......
try{
using (var fileReader = File.OpenText(inFile))
using (var csvResult = new CsvHelper.CsvReader(fileReader))
{
// read the header line
csvResult.Read();
// read the whole file
dynamic recs = csvResult.GetRecords<dynamic>().ToList();
/* now how do I get a whole column ???
* recs.getColumn ???
* recs.getColumn['hadername'] ???
*/
}
catch (Exception ex)
{
MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
}
Run Code Online (Sandbox Code Playgroud)
谢谢
我不认为图书馆能够直接这样做.您必须从各个字段中读取您的列并将其添加到a List,但该过程通常很快,因为读者可以快速完成工作.例如,如果您想要的列是类型string,代码将如下所示:
List<string> myStringColumn= new List<string>();
using (var fileReader = File.OpenText(inFile))
using (var csvResult = new CsvHelper.CsvReader(fileReader))
{
while (csvResult.Read())
{
string stringField=csvResult.GetField<string>("Header Name");
myStringColumn.Add(stringField);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13985 次 |
| 最近记录: |