技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營

贊助商

分類目錄

贊助商

最新文章

搜索

C# CSV解析器TinyCsvParser使用示例:解析自定義格式

作者:admin    時(shí)間:2023-5-22 9:45:45    瀏覽:

在前文中,我介紹了C#解析CSV數(shù)據(jù)的方法——使用TinyCsvParser。TinyCsvParser 是一個(gè) .NET 庫,用于以簡單的方式解析 CSV 數(shù)據(jù)。在上文中主要介紹了TinyCsvParser的基本用法。

在本文中,將介紹TinyCsvParser的使用示例,通過四個(gè)方面來介紹。

通過教程學(xué)習(xí)如何完成常見任務(wù)的方法。

解析自定義格式

TinyCsvParser對(duì)數(shù)據(jù)格式做出假設(shè),默認(rèn)為 .NET 默認(rèn)格式。這對(duì)于簡單的 CSV 文件通常就足夠了,但有時(shí) CSV 數(shù)據(jù)帶有特殊格式的值。當(dāng)默認(rèn)轉(zhuǎn)換器無法解析格式時(shí),需要自定義轉(zhuǎn)換器。

這聽起來比實(shí)際上更復(fù)雜。所有現(xiàn)有的轉(zhuǎn)換器都支持自定義用于解析值的格式。格式化字符串與 .NET 中用于解析字符串值的字符串相同。

使用自定義格式讀取日期

想象一下,客戶端發(fā)送具有奇怪日期格式的數(shù)據(jù)并像這樣寫入日期2004###01###25。這些值無法使用默認(rèn)日期格式進(jìn)行解析,但在TinyCsvParser中,可以使用自定義日期時(shí)間格式DateTimeConverter 進(jìn)行映射。

要使用自定義轉(zhuǎn)換器,你只需將 Converter 傳遞給MapProperty方法即可為屬性映射定義自定義轉(zhuǎn)換器。

private class CsvPersonMappingWithCustomConverter : CsvMapping<Person>
{
        public CsvPersonMappingWithCustomConverter()
        {
                MapProperty(0, x => x.FirstName);
                MapProperty(1, x => x.LastName);
                MapProperty(2, x => x.BirthDate, new DateTimeConverter("yyyy###MM###dd"));
        }
}

使用自定義格式讀取布爾值

假設(shè)你想在 CSV 值和布爾值之間進(jìn)行映射。該庫假設(shè) true 的字符串值為 "true",false 的字符串值為"false"。但現(xiàn)在假設(shè)你的 CSV 數(shù)據(jù)使用文本"ThisIsTrue"作為布爾值true,并"ThisIsFalse"作為布爾值false。

然后你必須實(shí)例化并使用BoolConverter這樣的:

new BoolConverter("ThisIsTrue", "ThisIsFalse", StringComparison.InvariantCulture);

這個(gè)轉(zhuǎn)換器可以像這樣在 Property Mapping 中使用:

public class EntityWithBoolean
{
    public bool PropertyBoolean { get; set; }
}

public class BooleanMappingWithCustomConverter : CsvMapping<EntityWithBoolean>
{
    public BooleanMappingWithCustomConverter()
    {
        MapProperty(0, x => x.PropertyBoolean, new BoolConverter("ThisIsTrue", "ThisIsFalse", StringComparison.InvariantCulture));
    }
}

總結(jié)

本文介紹了C# CSV解析器TinyCsvParser使用示例:解析自定義格式,我們將在后面繼續(xù)介紹TinyCsvParser的更多使用示例。

相關(guān)文章

標(biāo)簽: asp.net  CSharp  TinyCsvParser  CSV  
x
  • 站長推薦
/* 左側(cè)顯示文章內(nèi)容目錄 */