- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在这里,我必须使用 FileHelpers 和 C# 写出一个文件,其中的记录是管道分隔的。大部分字段具有可变长度(因此,我的记录将是 [DelimitedRecord("|")] )。但是有些字段必须有固定长度(它们必须有填充、特定格式等)。
我在谷歌上搜索了一堆,但没有关于如何实现这一目标的目标。
例子:
[DelimitedRecord("|")]
public class Customer
{
public int CustId; //variable length
public string Name; //variable length
public decimal Balance; //variable length
[FieldConverter(ConverterKind.Date, "dd-MM-yyyy")]
public DateTime AddedDate;
public int Code; // this one must have 10 characters with "zero-fill", like
// 153 must look like 0000000153
}
我如何做到这一点?我是否必须使用转换器方法并为此编写自己的转换器?
提前谢谢你。
最佳答案
对于以后遇到这个问题的任何人,这里有一些工作代码可以解决这个问题。
此类是一个转换器,FileHelper 引擎将使用它来将整数转换为字符串,并用 0 填充到构造函数中指定的大小。
public class PaddedIntConverter:ConverterBase
{
private int _size;
public PaddedIntConverter(int size)
{
_size = size;
}
public override object StringToField(string from)
{
return int.Parse(from);
}
public override string FieldToString(object from)
{
return from.ToString().PadLeft(_size,'0');
}
}
然后可以像这样将转换器应用于您的类:
[FixedLengthRecord(FixedMode.ExactLength)]
public class MyClass{
[FieldFixedLength(7)]
[FieldConverter(typeof(PaddedIntConverter), 7)]
public int RecordCount;
}
关于c# - FileHelpers:混合分隔和固定长度记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22015002/
我正在使用 Filehelpers 读取一个简单的 CSV 文件 - 该文件只是一个键值对。 (字符串, int64) 我为此编写的 f# 类型是: type MapVal (key:string,
这是我确定非常容易的事情之一,但我似乎无法解决! 使用 FileHelpers,如何确保导出中的每个字段都包含双引号?我猜有一个属性我可以放在每个字段上,我想在它周围加上双引号,但我看不到它在哪里。
这是我要读取的数据: "Adam C. Emality","1Z620Y1V034826","14.40" "Ethel Baeron","1Z620Y1V034604","15.19" "Donna
我一直在查看 filehelpers 文档,但似乎没有任何内容可以处理列中的空值。我需要能够在所有列上设置“非空”字符串属性。 谁能指出我正确的方向? 最佳答案 您可以在 AfterReadRecor
我有一个 csv 文件,我正在使用 FileHelpers 进行解析,并且我遇到了引号和逗号都可以出现在字段中的情况: 逗号: 323,"PC","28/02/2014","UNI001","5000
我最近的项目要求我读取 csv 文件。人们将我引向 filehelpers,因为“你不应该重新发明轮子”。但是,文档真的很烂,我似乎找不到处理可选引号的方法。这是我的 csv: 2734000585,
我想知道当它从一个文件中读取一个流时,你能告诉它只取 x 行吗?假设你想要文件中的 100 行,你可以告诉它只取前 100 行(忽略第一行,因为它是标题)。即使文件有 200 行? 最佳答案 您可以使
我有一个从网络服务中使用的类,我正尝试使用 FileHelpers 库将其导出到 csv。但是该类有一个 PropertyChangedEventHandler 引擎正在将其读取为一个字段,所以我得到
我用的是强大的FileHelpers Library .但是是否有内置的方法来搜索生成的对象。 var engine = new FileHelperEngine(); var res = engin
下面的代码用于在 ASP .NET MVC2 中使用 FileHelpers 读取固定宽度的上传文件内容文本文件 第一行和最后一行的长度较小,ReadStream 因此导致异常。所有其他行都有适当的固
在这里,我必须使用 FileHelpers 和 C# 写出一个文件,其中的记录是管道分隔的。大部分字段具有可变长度(因此,我的记录将是 [DelimitedRecord("|")] )。但是有些字段必
我正在使用 FileHelpers 库的 2.0 版,该库被记录为能够处理 .NET 2.0 可空类型。 我正在使用文档示例中给出的代码: [DelimitedRecord("|")] publi
我正在使用 FileHelper 2.0 来解析我的 csv 数据。是否有 filehelper 可以正确处理转义分隔符的选项?它可以将字段识别为数据而不是分隔符。 我们的 csv 格式:用\, 转义
我想知道如何在 filehelpers 中执行多个日期?似乎您必须指定要支持的每一种格式(有点糟糕......希望它可以处理更多基本格式)。 [FieldOrder(1), FieldConve
我有一个从另一个系统导出的 CSV 文件,其中的列顺序和定义可能会更改。我发现 FileHelpers 非常适合读取 csv 文件,但除非您在编译应用程序之前知道列的顺序,否则您似乎无法使用它。我想知
使用 FileHelper .Net 库,我可以以某种方式跳过源文件中的一些列吗? 根据文档和示例,我必须为所有列添加字段。唉,我有一个包含 216 列的 Excel 表要导入,其中只需 13 列。
我正在使用 FileHelpers 读取一个大文件图书馆。我想在阅读下面的记录之前更改 RecordLine。 static void engine_BeforeReadRecord(objec
假设我有一个像这样的 Filehelpers 类: [DelimitedRecord(",")] public class SomeRecord { public string Field1;
我正在使用优秀的 FileHelpers 库导入许多 csv 文件,但遇到了问题。我有一个包含这三个示例行的 csv 文件 id,text,number 120,"good line this one
我正在使用 FileHelpers创建固定长度的文件。在我的模型中,我有一个 double 需要以 0000.00 格式输出。无论如何我可以用 FileHelpers 本身指定它,还是我需要将我的模型
我是一名优秀的程序员,十分优秀!