Linq ファイルの読み込み書き込み

C# CsvファイルとTsvファイルの読み込み方法 Linqを使用して使いやすいデータに修正しよう

今回のテーマ

こんにちは、かっぱちゃんです。

今回は下記のテーマについて書いていきます。

今回のテーマ

CsvファイルとTsvファイルの読み込み方

今回はCsvファイルとTsvファイルの読み込み方について解説します。また、Linqを使用してデータを修正するところまでやっていきたいと思います。

CsvファイルとTsvファイルを読み込んでみるかっぱ!
KappaChan

他のLinqの記事についてはこちら

合わせて読みたいC# Linqを勉強するならこれだけは読んでほしいオススメの本3選 オススメの参考書

C#を勉強するためのオススメの本を紹介Contents1 C#を勉強するためのオススメの本を紹介1.1 C#の基礎を学ぶなら「やさしいC#」1.2 C#の全体像を学ぶなら「独習C#」1.3 C#をさら ...

続きを見る

Linqの演習問題はこちら

ファイルの読み込み方法 Csvファイルを使いやすい形にする

ファイルの読み込み方法は別記事で一番おすすめしたreadLinesメソッドを使っていきましょう。

早速、Csvファイルのデータを使いやすい形にし出力してみます。

Csvファイルの読み込み方法

 result
Name:Rockman Color:Blue Maker:DrLight
Name:Fireman Color:Red Maker:DrWily
Name:Iceman Color:Blue Maker:DrWily
Name:Roll Color:Pink Maker:DrLight
Name:Airman Color:Blue Maker:DrWily

各項目ごとにSplitメソッドで分けて、リストに格納してみました。

このようにデータを扱えば、自由にデータを取り出すことが出来ると思います。

読み込んだ内容にLinqを使ってみる

上記のデータを使って、Linqを使用してみましょう。

名前の順で出力する

 result
Name:Airman Color:Blue Maker:DrWily
Name:Fireman Color:Red Maker:DrWily
Name:Iceman Color:Blue Maker:DrWily
Name:Rockman Color:Blue Maker:DrLight
Name:Roll Color:Pink Maker:DrLight

名前の順で出力されてますね。

ライト博士のロボットのみ出力する

 result
Name:Rockman Color:Blue Maker:DrLight
Name:Roll Color:Pink Maker:DrLight

ライト博士のロボットのみ出力できています。

ファイルの読み書きについての記事はこちら

Tsvファイルの読み込み方法

続けてTsvファイルを読み込んでみましょう。Csvファイルを格納した同じフォルダにrobot.tsvを用意しました。

ファイルの内容は下記です。

 robot.tsv
Rockman Blue DrLight
Fireman Red DrWily
Iceman Blue DrWily
Roll Pink DrLight
Airman Blue DrWily

読みこみ方は基本的に同じです。ソースコードを見てみましょう。

Tsvファイルの読み込み方法

 result
Name:Rockman Color:Blue Maker:DrLight
Name:Fireman Color:Red Maker:DrWily
Name:Iceman Color:Blue Maker:DrWily
Name:Roll Color:Pink Maker:DrLight
Name:Airman Color:Blue Maker:DrWily

変わった箇所はSplitメソッドの指定が変更されただけですね。

まとめ

今回はCsvファイルとTsvファイルの読み込み方法を紹介しました。

読み込み方法は他にもありますが、私はこの読み込み方法が一番おすすめです。

是非、活用してくださいね。

KappaChan
最後までみれくれて、ありがとうかっぱ!

CHECK

C# Linqの使い方。GroupByを使ってグループ化しよう。

今回のテーマContents1 今回のテーマ2 GroupByについて2.1 GroupBy3 Linqメソッドの解説の流れ4 定義するクラスについて5 GroupByの使い方6 2つ以上指定する方法 ...

続きを見る

他のLinqの記事についてはこちら

-Linq, ファイルの読み込み書き込み

X