无法解析行 xxx、列 xxx 中的值 xxx
Could not parse value xxx in line xxx, column xxx
在尝试获取 IDataView
对象的预览数据时,出现以下错误
外部异常
System.FormatException: 'Parsing failed with an exception: Could not parse value {some value} in line {number}, column {name of column}'
内部异常
InvalidOperationException: Could not parse value {some value} in line {number},
column {name of column}
Here 是我尝试加载的数据集
输入模型
public class JobPostInput
{
[LoadColumn(0)]
[ColumnName("job_id")]
public int JobId { get; set; }
[LoadColumn(1)]
[ColumnName("title")]
public string Title { get; set; }
[LoadColumn(2)]
[ColumnName("location")]
public string Location { get; set; }
[LoadColumn(3)]
[ColumnName("department")]
public string Department { get; set; }
[LoadColumn(4)]
[ColumnName("salary_range")]
public string SalaryRange { get; set; }
[LoadColumn(5)]
[ColumnName("company_profile")]
public string CompanyProfile { get; set; }
[LoadColumn(6)]
[ColumnName("description")]
public string Description { get; set; }
[LoadColumn(7)]
[ColumnName("requirements")]
public string Requirements { get; set; }
[LoadColumn(8)]
[ColumnName("benefits")]
public string Benefits { get; set; }
[LoadColumn(9)]
[ColumnName("telecommuting")]
public bool Telecommuting { get; set; }
[LoadColumn(10)]
[ColumnName("has_company_logo")]
public bool HasCompanyLogo { get; set; }
[LoadColumn(11)]
[ColumnName("has_questions")]
public bool HasQuestions { get; set; }
[LoadColumn(12)]
[ColumnName("employment_type")]
public string EmployementType { get; set; }
[LoadColumn(13)]
[ColumnName("required_experience")]
public string ExperienceRequired { get; set; }
[LoadColumn(14)]
[ColumnName("required_education")]
public string RequiredEducation { get; set; }
[LoadColumn(15)]
[ColumnName("industry")]
public string Industry { get; set; }
[LoadColumn(16)]
[ColumnName("function")]
public string Function { get; set; }
[LoadColumn(17)]
[ColumnName("fraudulent")]
public bool IsFraud { get; set; }
}
错误代码
var dataView = _context.Data.LoadFromTextFile<JobPostInput>(path: "file path", hasHeader: true, separatorChar: ',');
var preview = dataView.Preview();//exception here
注:
- 我试过将 csv 文件中的行数减少到 1。即使发生了异常。
- 错误中指定的列名是
boolean
类型,但显示的值是string
类型
对您的 JobPostInput
稍作改动应该有助于解决这个问题。
更改以下属性以使用 float
而不是 bool
:
- 远程办公
- 有公司标志
- 有问题
- 是欺诈
它试图将它们解析为布尔值,但它们实际上是整数(在 ML.NET 的情况下是浮点数)。可以使用 context.Transforms.Conversion.ConvertType
方法将它们转换为布尔值。
在尝试获取 IDataView
对象的预览数据时,出现以下错误
外部异常
System.FormatException: 'Parsing failed with an exception: Could not parse value {some value} in line {number}, column {name of column}'
内部异常
InvalidOperationException: Could not parse value {some value} in line {number}, column {name of column}
Here 是我尝试加载的数据集
输入模型
public class JobPostInput
{
[LoadColumn(0)]
[ColumnName("job_id")]
public int JobId { get; set; }
[LoadColumn(1)]
[ColumnName("title")]
public string Title { get; set; }
[LoadColumn(2)]
[ColumnName("location")]
public string Location { get; set; }
[LoadColumn(3)]
[ColumnName("department")]
public string Department { get; set; }
[LoadColumn(4)]
[ColumnName("salary_range")]
public string SalaryRange { get; set; }
[LoadColumn(5)]
[ColumnName("company_profile")]
public string CompanyProfile { get; set; }
[LoadColumn(6)]
[ColumnName("description")]
public string Description { get; set; }
[LoadColumn(7)]
[ColumnName("requirements")]
public string Requirements { get; set; }
[LoadColumn(8)]
[ColumnName("benefits")]
public string Benefits { get; set; }
[LoadColumn(9)]
[ColumnName("telecommuting")]
public bool Telecommuting { get; set; }
[LoadColumn(10)]
[ColumnName("has_company_logo")]
public bool HasCompanyLogo { get; set; }
[LoadColumn(11)]
[ColumnName("has_questions")]
public bool HasQuestions { get; set; }
[LoadColumn(12)]
[ColumnName("employment_type")]
public string EmployementType { get; set; }
[LoadColumn(13)]
[ColumnName("required_experience")]
public string ExperienceRequired { get; set; }
[LoadColumn(14)]
[ColumnName("required_education")]
public string RequiredEducation { get; set; }
[LoadColumn(15)]
[ColumnName("industry")]
public string Industry { get; set; }
[LoadColumn(16)]
[ColumnName("function")]
public string Function { get; set; }
[LoadColumn(17)]
[ColumnName("fraudulent")]
public bool IsFraud { get; set; }
}
错误代码
var dataView = _context.Data.LoadFromTextFile<JobPostInput>(path: "file path", hasHeader: true, separatorChar: ',');
var preview = dataView.Preview();//exception here
注:
- 我试过将 csv 文件中的行数减少到 1。即使发生了异常。
- 错误中指定的列名是
boolean
类型,但显示的值是string
类型
对您的 JobPostInput
稍作改动应该有助于解决这个问题。
更改以下属性以使用 float
而不是 bool
:
- 远程办公
- 有公司标志
- 有问题
- 是欺诈
它试图将它们解析为布尔值,但它们实际上是整数(在 ML.NET 的情况下是浮点数)。可以使用 context.Transforms.Conversion.ConvertType
方法将它们转换为布尔值。