2017-11-06 9 views
0

の2つのテーブルから新しい最初のテーブルを選択する問題があります。その中に2つのテーブルがあるCSVファイルが1つあります。 私はこのようなものを使用して必要があります。C#LinqToSQL how CSVファイル

======= 
string[] lines = File.ReadAllLines(path + fi); 
string[] seps = { "\",", ",\"" }; 

var MyData= from line in lines.Skip(5)            
let data = line.Split(seps, StringSplitOptions.None) 
select new My_Table_in_DB 
{ 
Column1 = data[0], 
Column2 = data[1], 
... 
} 
====== 

はちょうど最初のテーブルを選択します。 私は、次の表では、例えば、この行から始まっていることを知っている - 次のCSV行の表の名前のように、最初のテーブルの後: 「次の表」

CSV-構造のようなもの:

===== 
Table1 
..... 
... 
... 
Next table 
.... 
... 
... 
===== 

私に助けてください - どうすればいいですか?

+0

のCSVは単なるテキストです。彼らはテーブルを持っていません。データが連結されている場合は、それを通って休憩を見つける必要があります。 2つのデータセットを1つのテキストファイルに入れて、誰でもそれを止めることができます。 – Plutonix

+0

1つのテーブルが終了し、次のテーブルが始まるときをどう知っていますか?あなたはすでにスキップしてn行を取るという選択肢を検討しているようです。多分列の数の長さ(区切り記号の数に関連する)によって区別することができますか? – Greg

+0

しかし、どのように私は列の数を見つけることができますか? はい - 1列のCSVに2組のデータがあり、列数が異なります( "次のテーブル"という名前の行を何とか見つける必要があります)この後に行をスキップしてください しかしどうですか? –

答えて

1

前に行を読み始める前に、 "次の表"の後の行を切り取ってください。このような何か:table1Linesの仕事より

var table1Lines = new List<string>(); 
foreach(var line in lines){ 
    if(line == "next table"){ 
     break; 
    } 
    tablel1Lines.Add(line); 
} 

...