跳过csv文件的第一行,因为它在文件格式中有空行.下面的
本文关键字:文件 格式 一行 csv 跳过 因为 | 更新日期: 2023-09-27 18:25:51
是我的通用方法,它返回一个对象列表,该列表采用从csv文件上传的Stream,但我想跳过第一行,因为csv的第二行只有标题。请帮我修改这个代码,从第二排中提取
public static List<T> getList<T>(Stream str, T obj)
{
using (var reader = new StreamReader(str))
{
using (var csvReader = new CsvReader(reader))
{
csvReader.Read();
csvReader.Configuration.TrimHeaders = true;
csvReader.Configuration.TrimFields = true;
csvReader.Configuration.IsHeaderCaseSensitive = false;
csvReader.Configuration.IgnoreHeaderWhiteSpace = true;
csvReader.Configuration.SkipEmptyRecords = true;
return csvReader.GetRecords<T>().ToList();
}
}
}
看起来您正在使用CsvHelper
。如果是这种情况,只要T上的属性与数据中的头名称匹配,那么仅GetRecords
方法就足以映射没有头的结果。
TL;DR;删除对csvReader.Read
方法的调用,只使用GetRecords
方法。
using (var reader = new StreamReader(str))
using (var csvReader = new CsvReader(reader))
{
csvReader.Configuration.TrimHeaders = true;
csvReader.Configuration.TrimFields = true;
csvReader.Configuration.IsHeaderCaseSensitive = false;
csvReader.Configuration.IgnoreHeaderWhiteSpace = true;
csvReader.Configuration.SkipEmptyRecords = true;
return csvReader.GetRecords<T>().ToList();
}
您可以使用Skip方法并指定要跳过的项目数。就像lst。跳过(1);