この投稿と同様の要件があります... 実行時にテキストファイルを使用してGridviewにデータを入力する
テキストファイルを読み込んでファイル内のデータStreamReader
を入力したいのですが、タブを使用しDataTable
て実装する方法がわかりません。split()
誰か私を正しい方向に向けてもらえますか?
この投稿と同様の要件があります... 実行時にテキストファイルを使用してGridviewにデータを入力する
テキストファイルを読み込んでファイル内のデータStreamReader
を入力したいのですが、タブを使用しDataTable
て実装する方法がわかりません。split()
誰か私を正しい方向に向けてもらえますか?
あなたはこれを試すことができます:
DataTable table = new DataTable();
table.Columns.Add("col1");
table.Columns.Add("col2");
table.Columns.Add("col3");
var lines = File.ReadAllLines(@"Data.txt").ToList();
lines.ForEach(line => table.Rows.Add(line.Split((char)9)));
行は改行で区切られていると思いました(その場合はReadAllLines
メソッドを使用できます)。番号9は、水平タブ文字のASCII値であり、行を分割するために使用されます。ForEach
ジェネリックリストで使用できるメソッドであり、foreach
ループの代わりにあります。
C# のタブのエスケープ文字は\t
であるため、ファイルを読み取り、タブの各行を分割するには、使用します
var path = "path to file";
using (StreamReader sr = new StreamReader(path))
{
while (sr.Peek() >= 0)
{
//Reads the line, splits on tab and adds the components to the table
table.Rows.Add(sr.ReadLine().Split('\t'));
}
}
タブ文字しかない場合はSplit('\ t')を使用できますが、タブが空白の場合は正規表現を使用することをお勧めします