C# 基于csv拆分字符串

C# 基于csv拆分字符串,c#,csv,visual-studio-2012,C#,Csv,Visual Studio 2012,下面是一个按钮的代码,该按钮用于解析csv文件,并用客户机和客户机名称填充2X2表。我在网上查过,但找不到一个合适的例子来说明我想做什么,使用VS 2012和C我想通读文件,只取出并插入客户机和客户机名称,但目前我的代码只接收了文件中的所有内容 我打算的方法是获取csv并在找到关键字时通读它;使用它,然后继续搜索,只是想知道是否有人可以告诉我如何 例如,我想在laClient列表中搜索,如果我找到了HTY,我想在后面的6个字符中继续搜索 private void btnUpload_Click(

下面是一个按钮的代码,该按钮用于解析csv文件,并用客户机和客户机名称填充2X2表。我在网上查过,但找不到一个合适的例子来说明我想做什么,使用VS 2012和C我想通读文件,只取出并插入客户机和客户机名称,但目前我的代码只接收了文件中的所有内容

我打算的方法是获取csv并在找到关键字时通读它;使用它,然后继续搜索,只是想知道是否有人可以告诉我如何

例如,我想在laClient列表中搜索,如果我找到了HTY,我想在后面的6个字符中继续搜索

private void btnUpload_Click(object sender, EventArgs e)
{
    //Browse for file
    OpenFileDialog ofd = new OpenFileDialog();
    //Only show .csv files
    ofd.Filter = "Microsoft Office Excel Comma Separated Values File|*.csv";
    DialogResult result = ofd.ShowDialog();
        
    //If the user selects a valid file 
    if (result == DialogResult.OK)
    {
        //File is delimited by a comma
        char[] laClientDelim = { ',' };

        //New object for string manipulation
        objStringManipulation = new StringManipulation();
            
        // Parse the csv file
        List<string[]> lsClientList = objStringManipulation.parseCSV(ofd.FileName,  laClientDelim);

        foreach (string[] laClient in lsClientList)
        {
            //Create new object for manipulating the database
            objSqlCommands = new SqlCommands("Client", "ClientName");
            laClient[8].
                

            //Inserts the client info into datbase
            objSqlCommands.sqlCommandInsertorUpdate("INSERT", laClient[0]);
            //Refreshs the Client table on display from the 
            this.clientTableAdapter.Fill(this.ImpDataSet.Client);

            //update the view 
            dgvClientlst.Update(); 
            
        }
    }
}
csv数据如下所示,由于此布局质量差,我尝试附加一张图片以便于阅读,但我没有10个声誉,因此无法执行此操作

ISBU、ShareName、Status、Share CCY、Benchmark、NAV Freq、CLASSCODE、SIMULATION、HEDGED、FUNDCCY

1,1,2,Cj0162289439,FGHT全球基金-亚洲包括韩国股票,激活,美元,每日下午5:00 CVT,AC,不适用,不适用

2,1,2,Cj0622164928,FGHT全球基金-亚洲,包括韩国股票,激活,美元,每日下午5:00 CCT,ACEUR,n/a,n

3,1,2,Cj0212851702,FGHT全球基金-亚洲,包括韩国股票,已激活,美元,美国中部时间每天下午5:00,阿丘,不适用,Y

4,1,2,Cj0042850808,FGHT全球基金-亚洲包括韩国股票,激活,美元,每日CET时间下午5:00,AD,不适用,不适用

5,1,2,Cj0212851884,FGHT全球基金-包括韩国股票在内的亚洲,已激活,美元,CDT每日下午5:00,ADHEUR,不适用,Y

6,1,2,Cj0162849209,FGHT全球基金-包括韩国股票在内的亚洲股票,激活,美元,每日下午5:00 CHT,EC,不适用,不适用

7,1,2,Cj0622165065,FGHT全球基金-包括韩国在内的亚洲股票,非激活,美元,每日CET时间下午5:00,欧洲中部,不适用,不适用

8,1,2,Cj0112316214,FGHT全球基金-亚洲包括韩国股票,激活,美元,每日下午5:00 CGT,ED,不适用,不适用

9,4,2,Cj0162193169,FGHT全球基金-亚洲包括韩国股票,激活,美元,每日下午5:00 CBT,IC,不适用,不适用


您应该能够读取csv,并使用以下代码获取单个值:

string[] records = File.ReadAllLines(fileName); // read the file completely line by line

// loop through all lines
foreach (string record in records)
{
    string[] fields = record.Split(splitChar);  // reads all the single values per line. 'splitChar' should be the delimiter.
}

添加CSV数据样本。@HenkHolterman我无法添加文件或图片,所以复制粘贴的数据,看起来很凌乱,谢谢,我会试试这个!!