方法无法解析 CSV 文件

本文关键字:CSV 文件 方法 | 更新日期: 2023-09-27 18:32:40

我正在尝试完成一项学校作业,该作业让我们使用 C# 程序解析 CSV 文件中的数据并将其添加到本地数据库中的表中。但是,当我尝试运行该程序时,我使用的方法无法将任何数据解析到对象中。

这是我使用的方法:

//Parse CSV line
    public bool ParseCSVline(string aLine) 
    {
        try
        {
            string[] fields = aLine.Split(',');
            this.Item_ID = int.Parse(fields[0]);
            this.Invent_id = int.Parse(fields[1]);
            this.Itemsize = fields[2];
            this.Color = fields[3];
            this.Curr_price = decimal.Parse(fields[4]);
            this.Qoh = int.Parse(fields[5]);
            return true;  //if everything parsed, return true
        }
        catch (Exception ex)
        {
            Console.Write("Failed to Parse");
            return false;  //if a parse failed, return false
        }

运行程序时,该方法不断抛出异常,而不是实际解析数据。为了清楚起见,这里是主程序中调用所有内容的部分:

/Step 2 - Open input file
        //Set where the file comes from
        string filepath = @"C:'Users'Karlore'Documents'School'SAI-430'";
        string filename = @"NewInventory.csv";
        //Open reader
        StreamReader theFile = new StreamReader(filepath + filename);
        //Step 3 - Create an object to use
        Item theItem = new Item();
        //Step 4 - Loop through file and add to database
        while (theFile.Peek() >= 0)
        {
            //Get one line and parse it inside the object
            theItem.ParseCSVline(filename);
            //Check to see if item is already there
            if (theItem.IsInDatabase(connection))
            {
                continue;
            }
            else
            {
                //Add the new item to the database if it wasn’t already there
                theItem.AddRow(connection);
            }
        } //end of while loop

如果有人能指出我可能犯了错误的地方,或者指出我正确的方向,我将不胜感激。

方法无法解析 CSV 文件

替换以下行:

theItem.ParseCSVline(filename);

由:

theItem.ParseCSVline(theFile.ReadLine());