首次使用csvReader - 请注意,它需要一个自定义类来定义CSV文件中的标题。
class DataRecord
{
//Should have properties which correspond to the Column Names in the file
public String Amount { get; set; }
public String InvoiceDate { get; set; }......
}
然后给出的例子使用如下类: -
using (var sr = new StreamReader(@"C:\\Data\\Invoices.csv"))
{
var reader = new CsvReader(sr);
//CSVReader will now read the whole file into an enumerable
IEnumerable<DataRecord> records = reader.GetRecords<DataRecord>();
//First 5 records in CSV file will be printed to the Output Window
foreach (DataRecord record in records.Take(5))
{
Debug.Print("{0} {1}, {2}", record.Amount, record.InvoiceDate, ....);
}
两个问题: - 1.该应用程序将加载到具有不同标题的文件中,因此我需要能够即时更新此类 - 这是否可行&amp;怎么样? (我可以从CSV文件中提取标题。)
目的地是一个SQLite数据库 - 以调试行为例。
由于
答案 0 :(得分:0)
- 应用程序将加载到具有不同标题的文件中,因此我需要能够动态更新此类 - 这是否可行&amp;如何?
醇>
虽然可以通过reflecion或第三方库来定义,但为这样一个大文件创建一行对象效率不高。此外,在这种情况下使用C#是个坏主意(除非你有一些业务数据转换)。我会考虑类似this或SSIS包的内容。