gpt4 book ai didi

c# - filehelpers 中的可选引号

转载 作者:行者123 更新时间:2023-11-30 12:23:16 25 4
gpt4 key购买 nike

我最近的项目要求我读取 csv 文件。人们将我引向 filehelpers,因为“你不应该重新发明轮子”。但是,文档真的很烂,我似乎找不到处理可选引号的方法。这是我的 csv:

2734000585,IDR,04/04/2016,04/04/2016,0000000,1010,SETOR TUNAI,"783275305006511 VENDY",,"820,000.00","5,820,000.00"

我不是生成上述 csv 的人,它来自银行。如您所见,他们的 csv 文件很糟糕并且有一些严重的问题。有些字符串用引号引起来,有些则没有。此外,货币值被编码为字符串。

我为它做了一个类:

using System;
using FileHelpers;

[DelimitedRecord(",")]

public class ImporBii
{
public long RekNum;

public string Currency;

[FieldConverter(ConverterKind.Date, "dd/MM/yyyy")]
public DateTime TransDate;

[FieldConverter(ConverterKind.Date, "dd/MM/yyyy")]
public DateTime RecordDate;

public string Unused1;

public int TransCode;

public string TransCodeStr;

public string Keterangan;

[FieldConverter(ConverterKind.Decimal, "#,##0.00")]
public decimal Debet;

[FieldConverter(ConverterKind.Decimal, "#,##0.00")]
public decimal Kredit;

[FieldConverter(ConverterKind.Decimal, "#,##0.00")]
public decimal Saldo;
}

我认为 filehelpers 足够聪明,可以自己看到引号,但结果是彻底的灾难。请帮我。 :-(

最佳答案

可以引用的字段需要加上[FieldQuoted()]

[DelimitedRecord(",")]
public class ImporBii
{
public long RekNum;

public string Currency;

[FieldConverter(ConverterKind.Date, "dd/MM/yyyy")]
public DateTime TransDate;

[FieldConverter(ConverterKind.Date, "dd/MM/yyyy")]
public DateTime RecordDate;

public string Unused1;

public int TransCode;

public string TransCodeStr;

[FieldQuoted('"', QuoteMode.OptionalForBoth)]
public string Keterangan;

[FieldConverter(ConverterKind.Decimal, ".")]
[FieldQuoted('"', QuoteMode.OptionalForBoth)]
public decimal? Drebet;

[FieldConverter(ConverterKind.Decimal, ".")]
[FieldQuoted('"', QuoteMode.OptionalForBoth)]
public decimal? Kredit;

[FieldConverter(ConverterKind.Decimal, ".")]
[FieldQuoted('"', QuoteMode.OptionalForBoth)]
public decimal? Saldo;
}

关于c# - filehelpers 中的可选引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37784162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com