1
テキストファイルから取り出された値を配列に格納しました。これらの配列値を以下のコードを持つデータテーブルに格納しようとしています。配列をデータテーブルに格納
最初の行に20個の値があり、2番目の行に23個の値がある場合、最後の20(1行目の列カウント)が空のデータテーブルに43個のセルが作成されるという問題があります。これは各行に対して継続されます。配列をデータテーブルに格納する他の方法はありますか?
var reader = new StreamReader(File.OpenRead(@"d:\er.txt"));
var table = new DataTable("SampleTable");
while (!reader.EndOfStream)
{
var line = reader.ReadLine().Trim();
var values = line.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
string[] ee = values;
var newRow = table.NewRow();
for (int i = 0; i < ee.Length; i++)
{
table.Columns.Add();
newRow[i] = ee[i].Trim().ToString(); // like sample [0,0]
}
table.Rows.Add(newRow);
}
テーブルは長方形であるため、ここで何をしたいですか? 「成功」とは何でしょうか? –
は、何をしようとしているのかを明らかにするために、出力テーブルの構造を示しています。あなたはDataTableで行うことはできません。 –
ファイルが区切られている、FileHelpers.Netを使用してデータテーブルにまっすぐ行くことを検討 - あなたがしなければならない任意の解析を排除します。 1つの使用方法については、http://stackoverflow.com/questions/1898/csv-file-imports-in-netを参照してください。カンマだけでなく、任意の区切り文字を使用できます。 – dash