簡體   English   中英

使用filehelpers按列名解析CSV文件

[英]Parse CSV file by column name with filehelpers

我想使用filehelpers DLL解析CSV文件。 我希望它使列標題與類中的屬性名稱匹配。 我認為對於那些沒有像列那樣命名的屬性,我將不得不使用“ FieldCaption”屬性。 但這顯然僅用於寫入CSV文件嗎?

如果我必須以與CSV文件中相同的方式排列屬性,並且必須包括所有列,那么與僅按數字進行拆分和選擇相比,優點是什么?

問候帕特里克

FileHelpers依賴於映射類的概念, 該類要求您為每列指定一個字段(或自動屬性),即使您不需要該列中的數據也是如此。 因此,您可能有一個類似的映射類:

[DelimitedRecord("|")]
public class Orders
{
    public int OrderID;

    public string NotImportant1;
    public string NotImportant2;
    public string NotImportant3;

    public string CustomerID;

    [FieldConverter(ConverterKind.Date, "ddMMyyyy")]
    public DateTime OrderDate;

    [FieldConverter(ConverterKind.Decimal, ".")] // The decimal separator is .
    public decimal Freight;

    [FieldOptional, FieldArrayLength(0, 100)]
    public string[] I_DONT_CARE_WHAT_COMES_AFTER_THIS;
}

沒有自動處理未使用的列。

...與僅按數字進行拆分和選擇相比,優勢何在?

以下是一些優點:

  • FileHelpers使您可以指定任何平面文件格式,而不僅僅是CSV。
  • 您可以強烈輸入字段
  • 您可以提供自己的轉換器來處理內容如何映射到值
  • 您可以使用各種屬性來修飾字段,以處理文件的特質(引號,修剪,日期格式等)。
  • 該類也是程序支持的文件格式的“規范”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM