\

[C#]タブ区切り(TSV)のファイルを項目単位に読み取る

C#でタブ区切りのファイルを開き、1項目ずつ読み取る方法を紹介します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//区切り文字設定
char\[\] delimiter = new char\[\] { '\\t' };

//ファイルストリームリーダー作成
// InputFilePath にはタブ区切りファイルのパスを指定して下さい。
StreamReader reader = new StreamReader(InputFilePath);

//ファイルレコードが存在するまでループ
while (reader.Peek() >= 0)
{
//読み取った行をタブで区切り、文字列配列に格納
string\[\] cols = reader.ReadLine().Split(delimiter);

//項目値取得
col1value = cols\[0\];
col2value = cols\[1\];
col3value = cols\[2\];
}

1. 区切り文字の指定

今回の区切り文字であるタブを指定します。

1
char\[\] delimiter = new char\[\] { '\\t' };

2. ファイルリーダーの作成

ファイルリーダーを作成します。InputFilePathには、読み込むタブ区切りのファイルパスを指定して下さい。

1
StreamReader reader = new StreamReader(InputFilePath);

3. ファイルレコードが存在するまでループ

1
2
3
4
while (reader.Peek() >= 0)
{
...
}

4. ファイルを1行読み取って、指定した区切り文字で分割して、文字列配列に格納

string[] cols = reader.ReadLine().Split(delimiter);

5. 各項目の値を取得

1
2
3
col1value = cols\[0\];
col2value = cols\[1\];
col3value = cols\[2\];

ExecNote.app リリースしました!

ExecNoteは、コードが実行できるMarkdownアプリケーションです。Markdownドキュメント内に記載したコードをクリックすると実行ができます。わざわざターミナルを 起動させる必要がありません!無料ですのでもしよければダウンロードをお願いします。

About Me

11年目のシステムエンジニアです。アプリで生活や仕事を改善したい🐱仕事効率化、自動化のアプリ開発が得意です、ご相談ください。 🚀エンタメ系アプリの開発も模索中🐬社内SEや個人アプリ開発者、システムエンジニアになりたい人と繋がりたい🐱