我正在尝试将提供的CSV文本读入带有CSVHelper的列表中,但它会跳过一些记录。
我将图片中的记录设置为红色,以便使我的问题更加清晰,它只将这些红色字段(总共52个)添加到列表中,但不添加逗号分隔后的文本,例如:488273,1482, 14526113。它增加了第一个,但跳过了1482和14526113.我也需要添加它们。
代码
csv.Configuration.HasHeaderRecord = false;
csv.Configuration.TrimFields = false;
List<int> playerInfo = csv.GetRecords<int>().ToList();
图片
答案 0 :(得分:0)
return render(
request,
'app/index.html',
{
'title':'Home Page',
'year':datetime.now().year,
}
)
答案 1 :(得分:0)
当您致电csv.GetRecords<T>()
时,CSVHelper会将整个的每一行(行)映射到指定的类型。您正在映射到int
类型。 CSV的每一行中有3个值。这3个值无法映射到单个int
。 CSVHelper只是映射每行中的第一条记录。
如果要使用CsvReader,则应定义自定义类(具有3个int属性)并使用csv.GetRecords<MyCustomCsvClass>()
。您可能还需要/需要创建自定义CsvClassMap。 CSVHelper文档非常好:Mapping By Index。
或者,您可以使用不进行映射或类型转换的CsvParser class。它只为每行返回string[]
。