关于c#:如何使用ServiceStack.Text导入带有空格的CSV文件

How to import CSV file with white-space in header with ServiceStack.Text

我使用ServiceStack.Text库从C_中的csv文件中读取。

我想知道如何将csv反序列化为csv包含空格分隔头的对象?

我正在使用此代码将csv反序列化为empclass对象:

1
  List objList = File.ReadAllText(filePath).FromCsv<List>();

如果我有这样的csv文件

1
2
EmpId,Employee Name,Employee Address
12,JohnSmith,123 ABC Street

我的课就像

1
2
3
4
5
public class empClass{
public string EmpId;
public string Employee_Name;
public string Employee_Address;
}

它填充empid,但不填充雇员姓名和雇员地址,因为它在头中包含空白。

如果有人能帮忙,我将不胜感激。


poco类需要与包含空格的csv的属性名匹配,用下划线替换不匹配,在使用ServiceStack的序列化程序时还应使用公共属性。

由于属性不能有空格,您可以尝试使用别名,例如:

1
2
3
4
5
6
7
8
9
10
[DataContract]
public class EmpClass
{
    [DataMember]
    public string EmpId { get; set; }
    [DataMember(Name="Employee Name")]
    public string EmployeeName  { get; set; }
    [DataMember(Name="Employee Address")]
    public string EmployeeAddress  { get; set; }
}