寻找FileHelpers主细节方向
本文关键字:方向 细节 FileHelpers 寻找 | 更新日期: 2023-09-27 18:17:34
我有一个这种格式的。csv文件。我正在使用FileHelpers库,但我需要一些方向解析文件到一个单一的记录,以便集合可以插入到数据库中。在这一点上,我认为"Total"行可以忽略,但仍在等待确认。
94506 - DANVILLE CA,,,,,,,,,
Route,SFDU ,MFDU ,Total ,Names ,Income ,Home ,Age ,PHWC ,Sat
C055, 879, 0, 359, 442, $100, $100, 60, 21%, S
Total, 0, 0, 0, 0,,,,,
,,,,,,,,,
94518 - CONCORD CA,,,,,,,,,
Route,SFDU ,MFDU ,Total ,Names ,Income ,Home ,Age ,PHWC ,Sat
C086, 578, 33, 785, 237, $100, $100, 49, 22%, S
C087, 478, 37, 733, 337, $100, $100, 49, 22%, S
C088, 578, 36, 798, 437, $100, $100, 49, 22%, S
Total, 0, 0, 0, 0,,,,,
这里有一个简单的例子
基本上,你需要定义两个类,一个为你的主:[DelimitedRecord("-")]
public class Master
{
public string Zip;
public string City;
}
和另一个为您的细节
[DelimitedRecord(",")]
public class Orders
{
public string Route;
public int SFDU;
public int MFDU;
public int Total;
public int Names;
public string Income;
// etc ...
}
然后你需要一个选择器来决定哪个是哪个
RecordAction ExampleSelector(string record)
{
if (record[0] == 'C') // if the line starts with a C
return RecordAction.Detail;
else if Char.IsNumber(record[0]) // if the line starts with a number
return RecordAction.Master;
else // skip anything else, e.g., Route, Total, etc.
return Record.Action.Skip;
}