【发布时间】:2019-01-23 10:08:36
【问题描述】:
我正在将 CVS 文件中的数据读入 C# 列表对象。我只能读取字符串值。当我尝试读取一个数值(在这种情况下为双精度值)时,我得到输入字符串格式不正确的异常。任何人都可以显示 我如何克服这个? 这是代码:
类:
public class Loan
{
string applicationDT;
string employeeID;
string employeeName;
double amount;
string lonType;
public void printLoan()
{
Console.WriteLine($" employeeName {employeeName} employee Id {employeeID}" +
$"applicationDate {applicationDT} \namount {amount} loanType {lonType}");
}
public static Loan fromCVS(string csvLine)
{
string []values = csvLine.Split(',');
Loan loanRecord = new Loan();
loanRecord.employeeName = (values[3]);
loanRecord.employeeID = (values[4]);
loanRecord.applicationDT = (values[5]);
loanRecord.amount = Convert.ToDouble(values[6]);
loanRecord.lonType = (values[7]);
return loanRecord;
}
}
主要:
static void Main()
{
List<Loan> loans = File.ReadAllLines(@"C:\Users\0300Test.csv")
.Skip(1)
.Select(v => Loan.fromCVS(v))
.ToList();
foreach(Loan aLoan in loans)
{
aLoan.printLoan();
}
}
CSV 文件:
"APPROVAL_OFFICER_NAME","APPROVAL_OFFICER_ID","RELATIONSHIP_MANAGER_NAME","EMPLOYEE_NAME","EMPLOYEE_ID","APPLICATION_DATE_TIME","AMOUNT","TYPE_OF_LOAN"
"SAMPLNAME","988803","SAMPLNAME","SAMPLNAME","776667","1/22/2019 11:05:43 AM","321146.00","Top Up With Settlement"
"SAMPLNAME","988803","SAMPLNAME","SAMPLNAME","776667","1/22/2019 9:34:13 AM","90230.00","Top Up With Settlement"
"SAMPLNAME","988803","SAMPLNAME","SAMPLNAME","776667","1/22/2019 12:00:22 AM","5230.00","Top Up without Settlement"
【问题讨论】:
-
请编辑您的问题并添加失败的数据示例(来自 csv 文件)
-
编辑了问题
-
假设您的 csv 没有任何“这对我有用,没有任何异常。您是否调试过哪个值引发了异常?