2016-12-06 102 views
4

我正在使用ServiceStack.Text庫從C#中的CSV文件讀取數據。如何使用帶有ServiceStack.Text的標題中的空格導入CSV文件

我想知道如何將CSV反序列化到CSV包含空格分隔標題的對象?

我使用這個代碼反序列化的CSV empClass對象:

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

如果我有這樣的

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

一個CSV文件,我的課就像是

public class empClass{ 
public string EmpId; 
public string Employee_Name; 
public string Employee_Address; 
} 

它填充EmpId但它不填充員工姓名員工地址,因爲它在標題中包含空格。

將不勝感激,如果任何人都可以提供幫助。

回答

2

POCO類需要匹配其中包含空格的CSV屬性名稱,用下劃線替換它不會使其匹配,您還應該在使用ServiceStack的序列化程序時使用公共屬性。

由於屬性不能有空格,你可以嘗試使用別名,e.g:

[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; } 
} 
+0

非常感謝。有用。我正在使用公共財產,但忘了寫在這裏。 – Sugat

相關問題