2013-03-22 43 views
1

我在CSV的格局如何分隔CSV分隔数据并相应存储值?</p> <pre> A,B,C,D B,C,D,E C,D,E,F D,E,F,G . . . </pre> <p>虽然我想在下面的方式做,我丢失:

 
A,B,C,D,E,F,G 

C,F,G,L,K,O,F 

a,b,c,d,e,f,g 

f,t,s,n,e,K,c 

B,F,d,e,t,m,A 

我想这些数据的形式存储数据的过中间一个图案。为前:C,D,E,F

这里是我的代码:

static void Main(string[] args) 
{ 
    FileStream fs = new FileStream("studentSheet.csv", FileMode.Open); 
    StreamReader reader = new StreamReader(fs); 
    List<string> subline = new List<string>(); 
    string line = ""; 
    while ((line = reader.ReadLine()) != null) 
    { 
     string[] splitstring = line.Split(';'); 
     string ft = null; 
     int i =0; 
     while(i <(splitstring.Length - 3)+1) 
     { 
      ft = splitstring[i] + "," + splitstring[i+1] 
       + "," + splitstring[i+2] +","+ splitstring[i+3]; 
      subline.Add(ft); 
      i = i + 1; 
     } 

    } 
    foreach(string s in subline) 
     Console.WriteLine(s); 
    Console.ReadLine(); 
} 
+8

你忘了添加'c#-2.0'和'c#-5.0'标签。 – 2013-03-22 13:20:50

+0

你为什么要分裂“;”代替 ','?它不是CSV吗? – Thelonias 2013-03-22 13:33:00

回答

1

假设你确定与读取所有到一个叫input大名单,而你不需要它是惊人的快,你可以只是这样做:

List<string> output = Enumerable.Range(0, input.Length - 4) 
    .Select(i => String.Join(",", input.Skip(i).Take(4))) 
    .ToList(); 
相关问题