我有一个像这样的csv文件
“要跳过的一些行:第 1 行到 7 行”
姓名、家庭、手机
“第九行:应该被跳过”
“第十行:应该跳过”
A、B、1
C、D、2
如何使用 RowIndex 的 ShouldSkipRecord 跳过前七行和第三行?
我搜索了很多,但没有找到任何解决方案。
这是我的代码
var options = new TypeConverterOptions { Formats = new[] { "dd/MM/yyyy HH:mm:ss" } };
using var reader = new StreamReader(@"C:\Users\Arash\Desktop\fault1.csv");
var config = new CsvConfiguration(CultureInfo.InvariantCulture)
{
ShouldSkipRecord = args =>
{
//some thing which show row index
}
};
using var csv = new CsvReader(reader, config);
csv.Context.RegisterClassMap<FaultsModelMap>();
csv.Context.TypeConverterOptionsCache.AddOptions<DateTime>(options);
var records = csv.GetRecords<FaultsModel>();
亲爱的@JoshClose在Github中回答了我的问题,我与将面临同样问题的开发者分享解决方案。
var config = new CsvConfiguration(CultureInfo.InvariantCulture)
{
ShouldSkipRecord = args =>
{
var rawRow = args.Row.Parser.RawRow;
return rawRow < 8 || rawRow == 9 || rawRow == 10;
}
};
请不要忘记,行索引从 1 开始,而不是 0