读取csv 文件 c#

2021-07-01 13:04

阅读:332

标签:return   turn   odi   spl   continue   get   substr   oid   adc   

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ReadCSV
{
    class Program
    {
        public static void Main(string[] args)
        {
            List list = ReadCSV(@"?C:\Users\Administrator\Source\Repos\ReadCSV\ReadCSV\bin\Debug\EE4.csv");

        }
        public static List ReadCSV( string path)
        {
            
            List list = new List();
            StreamReader sr = new StreamReader("EE6.csv", Encoding.UTF8);
            String line;
            while ((line = sr.ReadLine()) != null)
            {
                if (line.Contains("DisplayName"))
                    continue;
                list.Add(readlineToContract(line, 15));
            }
            return list;
        }

        public static Contract readlineToContract(string line, int count)
        {
            Contract contract = new Contract();
            string[] strArray = line.Split(,);
            if (count == strArray.Count())
            {
                contract.Name = strArray[4];
                contract.DisplayName = strArray[5];
                contract.Type = strArray[8];
                contract.Category = strArray[9];
                contract.State = strArray[10];
                contract.Stage = strArray[11];
            }
            else
            {
                //deal with doublue " contains ,
                Liststring> temp = new Liststring>();
                for (int i = 0; i )
                {
                    if (line[i] != ")
                    {
                        int index = line.IndexOf(",", i);
                        if (index == -1)
                            temp.Add(line.Substring(i));
                        else
                        {
                            temp.Add(line.Substring(i, index - i));
                            i = index;
                        }
                    }
                    else if (line[i] == ,)
                    {
                        temp.Add(string.Empty);
                    }
                    else if (line[i] == ")
                    {
                        int index = line.IndexOf("\"", i+1);
                        temp.Add(line.Substring(i+1, index - i-1));
                        i = index;
                    }

                }
                if (line.EndsWith(",")) temp.Add(string.Empty);

                contract.Name = temp[4];
                contract.DisplayName = temp[5];
                contract.Type = temp[8];
                contract.Category = temp[9];
                contract.State = temp[10];
                contract.Stage = temp[11];
            }
            return contract;
        }
    }

    class Contract
    {
        public string Name { set; get; }
        public string DisplayName { set; get; }
        public string Type { set; get; }
        public string Category { set; get; }
        public string State { set; get; }
        public string Stage { set; get; }


    }
}

 

读取csv 文件 c#

标签:return   turn   odi   spl   continue   get   substr   oid   adc   

原文地址:https://www.cnblogs.com/skywss27/p/9949722.html


评论


亲,登录后才可以留言!