如何将特定列值转换为小写
How to convert specific column values to lowercase
我正在尝试弄清楚 CsvHelper 在读取文件时是否可以操作 CSV 中的特定列值。
例如,根据下面的设置,我希望收到的电子邮件值始终为小写:
public class MyCsvEntity : ICsvEntity
{
public string Email { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string DirectManager { get; set; }
public Dictionary<string, string> DynamicColumns { get; set; }
}
映射:
public sealed class MyCsvMap : ClassMap<MyCsvEntity>
{
public MyCsvMap()
{
Map(m => m.Email).Name("Email");
Map(m => m.FirstName).Name("First Name");
Map(m => m.LastName).Name("Last Name");
Map(m => m.DirectManager).Name("Direct Manager");
}
}
我试图查找文档并寻找任何可以帮助我完成此操作的内置配置,但无济于事。目前,我正在读取 .csv 文件中的数据,并在其他地方执行 ToLower()
。如果有人知道如何使用 CsvHelper 完成此操作或提供任何见解,非常感谢。
我认为您应该能够在 Map
上使用 Convert
方法来实现此目的:
public sealed class MyCsvMap : ClassMap<MyCsvEntity>
{
public MyCsvMap()
{
Map(m => m.Email).Name("Email").Convert(row => row.GetField("Email").ToLower());
Map(m => m.FirstName).Name("First Name");
Map(m => m.LastName).Name("Last Name");
Map(m => m.DirectManager).Name("Direct Manager");
}
}
我正在尝试弄清楚 CsvHelper 在读取文件时是否可以操作 CSV 中的特定列值。
例如,根据下面的设置,我希望收到的电子邮件值始终为小写:
public class MyCsvEntity : ICsvEntity
{
public string Email { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string DirectManager { get; set; }
public Dictionary<string, string> DynamicColumns { get; set; }
}
映射:
public sealed class MyCsvMap : ClassMap<MyCsvEntity>
{
public MyCsvMap()
{
Map(m => m.Email).Name("Email");
Map(m => m.FirstName).Name("First Name");
Map(m => m.LastName).Name("Last Name");
Map(m => m.DirectManager).Name("Direct Manager");
}
}
我试图查找文档并寻找任何可以帮助我完成此操作的内置配置,但无济于事。目前,我正在读取 .csv 文件中的数据,并在其他地方执行 ToLower()
。如果有人知道如何使用 CsvHelper 完成此操作或提供任何见解,非常感谢。
我认为您应该能够在 Map
上使用 Convert
方法来实现此目的:
public sealed class MyCsvMap : ClassMap<MyCsvEntity>
{
public MyCsvMap()
{
Map(m => m.Email).Name("Email").Convert(row => row.GetField("Email").ToLower());
Map(m => m.FirstName).Name("First Name");
Map(m => m.LastName).Name("Last Name");
Map(m => m.DirectManager).Name("Direct Manager");
}
}