【发布时间】:2018-12-14 01:33:29
【问题描述】:
我的问题与其他 SO 问题不同,因为这些反序列化示例适用于 typed<Customer> POCO class,在我的场景中,我没有提前准备任何类型。正在从各种来源将文件放入文件夹中。
如果没有类型或标头信息,我将如何将具有未知标头的 CSV 文件反序列化/读取到列表、JSON 数组或可枚举(我不需要数据表)
using System;
using System.Data;
using System.Collections;
using System.Linq;
using ChoETL;
using System.Text;
public class Program
{
public static void Main()
{
//headers are not known in the SourceFile.csv - i need a list and headers
//var csvLisFromCho = new ChoCSVReader(@"SourceFile.csv").WithFirstLineHeader();
StringBuilder csvIn = new StringBuilder(@"ID,Name
1, David
2, Bob");
using (var r = new ChoCSVReader(csvIn).WithFirstLineHeader())
{
var list = r.Select(r1 => r1.Values).ToList();
Console.WriteLine("Coverted List from Raj");
list.ForEach(Console.WriteLine);
}
}
}
【问题讨论】:
-
“反序列化”在这里可能是错误的词......或者它可能是“CSV”。 CSV 数据也是序列化数据会很奇怪。您提到 JSON 数组作为直接目标,听起来它可能根本不是 CSV。
-
我上次查看时不需要标题来解析 CSV
-
这与标题无关,我的 csv 文件可能有也可能没有标题。我需要从 CSV 获取列表
-
你试过什么? FileHelpers 和 Choetl 文档页面上有明确的示例。
-
@shamp00 请查看您的链接并再次阅读我的问题,如果是类型化 POCO 类的反序列化,在我的场景中,我没有提前任何类型。
标签: c# csv filehelpers excel-reader choetl