我有一个以这种格式提供的.csv文件。我正在使用FileHelpers库,但我需要一些指导将文件解析为单个记录,以便可以将集合插入到数据库中。此时我相信“总计”行可以忽略,但仍在等待确认。
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,,,,,
答案 0 :(得分:2)
有一个简单的示例here
基本上,您需要定义两个类,一个用于您的主类:
[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;
}