CSV to Entity

source download : http://csv2entity.codeplex.com

 


What is CSV


CSV is theabbreviation of Comma-separated values, a file format stores tabular data in plain-textform, usually with .csv extension. CSV is a simple file format that is widely supported by consumer, business,and scientific applications.

Examples

Example of a USA/UK CSV file
 

Year,Make,Model,Length
1997,Ford,E350,2.34
2000,Mercury,Cougar,2.38

CSV Entity

       In order to build CSV entities, we needsomething more. Csharp’s Attribute Mechanism provides us what we need by decorateCSV class properties with a custom attribute. Custom attribute defines CVSfield’s display name and order. Here is the CsvFieldAttribute:

    public class CsvFieldAttribute:Attribute
    {
        public string Name { get; set; }
        public int Order { get; set; }
    }


       With CsvFieldAttribute, now we can decorate our own class.

    public class Car
    {
        [CsvField(Name = "Year", Order = 0)]
        public string Year { get; set; }
        [CsvField(Name = "Make", Order = 1)]
        public string Make { get; set; }
        [CsvField(Name = "Model", Order = 2)]
        public string Model { get; set; }
        [CsvField(Name = "Length", Order = 3)]
        public string Length { get; set; }
    }


GenerateCSV Class

       So, do we need to create CSV classes manually?Of cause not. So I developed the following tool to generate CSV classes:

 

CSVReader

       At last, we need a way to read CSV filesand put data into the CSV classes. The method is: split CSV line to an array,iterate over that array get index of each field, and reflect the CSV class (i.e.Cars above) get order of each property. When index of field and order ofproperty matches each other, transmit the value.


Following is theresult from Visual Studio 11 watch window.



References

CSV in Wikipedia: http://en.wikipedia.org/wiki/Comma-separated_values

 

source download : http://csv2entity.codeplex.com


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

织网者Eric

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值