• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C# でCSVファイルから検索したい文字取得ついて)

C#でCSVファイルから検索したい文字を取得する方法

このQ&Aのポイント
  • C#でCSVファイルから特定の文字を検索し、取得する方法について詳しく教えてください。
  • 具体的には、このCSVデータで指定した文字を検索し、該当する行の特定の列の文字を取得したいです。
  • また、CSVファイルからの読み出し方法についても教えていただければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

第1パラメータにCSVのファイル名、 第2パラメータに探したいコード番号(ex.7500100) を指定すると「アイ」の列の項目を表示するコンソールプログラムの例。 using System; using System.IO; namespace CSVRead { struct piyopiyo { public string number; public string code; public string piyo1; public string piyo2; public string piyo3; public string piyo4; public string piyo5; } class Program { static void Main(string[] args) { piyopiyo readdata = new piyopiyo(); readdata.code = string.Empty; try { // 第1パラメータで指定されたシフトJISコードのファイルを開く StreamReader sr = new StreamReader(args[0], System.Text.Encoding.GetEncoding("shift_jis")); string line; // 1行ずつ読み込み while ((line = sr.ReadLine()) != null) { // 行を「,」で分割 string[] param = line.Split(','); // 「"」を除去して構造体に格納 readdata.number = (param[0].Split('"'))[1]; readdata.code = (param[1].Split('"'))[1]; readdata.piyo1 = (param[2].Split('"'))[1]; readdata.piyo2 = (param[3].Split('"'))[1]; readdata.piyo3 = (param[4].Split('"'))[1]; readdata.piyo4 = (param[5].Split('"'))[1]; readdata.piyo5 = (param[6].Split('"'))[1]; // 第2パラメータで指定されたコード番号を判定 if (readdata.code == args[1]) { break; } } if (readdata.code != args[1]) { Console.WriteLine("{0:s} は無いの", args[1]); } else { Console.WriteLine("{0:s} は {1:s} なの", args[1], readdata.piyo3); } } catch (Exception e) { Console.WriteLine("{0:s} なんて読めないの", args[0]); } } } }

ndckenji
質問者

お礼

ありがとうございます。 助かりました。

その他の回答 (1)

回答No.1

全部読み込んでから探す場合 (1)1行ずつ読み込み、「,」を区切りとして各データを配列または構造体に取り込む。 (2)(1)を繰り返し、行数分の配列に格納 (3)2番目の要素に「7500100」が入ってる行を探す。 (4)その行の5番目の要素を取り出す。 1行ずつ読み込みながら探す場合 (1)1行ずつ読み込み、「,」を区切りとして各データを配列または構造体に取り込む。 (2)2番目の要素に「7500100」が入ってなければ次の行を繰り返す。 (3)2番目の要素に「7500100」が入っていれば5番目の要素を取り出す。 C#で一行ずつテキストを読み込んで処理する場合はStreamReaderクラスを生成し、ReadLineメソッドで一行ずつ取り出すのが便利でしょう。取り出したString型の文字列はSplitメソッドで区切り文字を指定して分割できます。

ndckenji
質問者

補足

申し訳ありませんが、ソース教えて戴けませんか? お願いいたします。

関連するQ&A

専門家に質問してみよう