C#初心者です。
以下のように、カンマ区切りのcsvファイルの特定の列を入れ替えて保存するアプリを作ろうとしています。
■変更前
りんご,赤,1,
みかん,オレンジ,2
メロン,黄緑,3
■変更後
1,赤,りんご,
2,オレンジ,みかん,
3,黄緑,メロン,
以下のような概略フローを考えてみたのですが、
(3)の処理を実行する場合、どのような実装すれば良いか分かりません。
■概略フロー
(1)1行ずつTextFieldParserで、string配列に読み込む
(2)任意の列の値を左から順番を指定して並べ替える
No.3の列を左から1列目に指定⇒No.3の列を左から3列目に指定
(3)並べ替えた配列をカンマ区切りで再結合する
どなたかご教示いただけると助かります。
No.3ベストアンサー
- 回答日時:
TextFieldParser の流れなら ReadFields() で 1行分を列ごとに分けて読み込むわけだから、あとは任意の順番で文字列連結すればいいんじゃない?
string[] rowData = parser.ReadFields();
ConsoleWriteLine(rowData[2] + "," + rowData[1] + "," + rowData[0]);
とか
ご教示ありがとうございます。
ConsoleWriteLineなら単純に文字の間にカンマを入れるだけで、新しい文字列が作れるんですね。
他にもJoinメソッドというものも用意されているようですね。
C#の利便性を活用できるよう、勉強していきたいと思います。
No.2
- 回答日時:
テキストファイルの書き込み方法はいろいろありますが、
基本的に一行ずつ書き込みます。
string[] splittedResult = txtParser.ReadFields();
で取り込んだものを任意の順にカンマ区切りにして
一行分のStringをWriteLineに渡します。
Encoding sjisEnc = Encoding.GetEncoding("Shift_JIS");
StreamWriter writer = new StreamWriter(@"C:\Test.txt", true, sjisEnc);
writer.WriteLine("テスト書き込みです。");
writer.Close();
ご教示ありがとうございます。
StreamWriterクラスという便利なものがあるのですね。
C#初心者なのですが、その便利さをほんの少し知ることができました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
EXCELからCSVにすると余計なカ...
-
カンマ区切りの数字をCSVフ...
-
WORDで改ページすると時々グレ...
-
Excelでの文字の抜き出しor削除
-
エクセル セルの書式設定 ユ...
-
海外のケータイ(GSM携帯)はハ...
-
[VBA][Excel]クリップボードか...
-
PHP カンマをエスケープしたい...
-
データにカンマが入ったCSVデー...
-
CSVの定義
-
エクセルの区切り位置の設定方法
-
カンマ区切りでないテキストをc...
-
JPY ¥1,500.00は日本円でお幾ら?
-
任意の区切り文字でsplitする方法
-
何故、日本は未だに数字を3桁...
-
セパレータ文字の意味を教えて...
-
マッチングアプリで一言メッセ...
-
VBA 文字に半角が含まれて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
EXCELからCSVにすると余計なカ...
-
マクロを使ってフォルダー内に...
-
CSVの定義
-
カンマ区切りの数字をCSVフ...
-
WORDで改ページすると時々グレ...
-
データにカンマが入ったCSVデー...
-
[VBA][Excel]クリップボードか...
-
カンマ区切り
-
VB2005のTextBoxでカン...
-
3桁ごと?4桁ごと?コンマの...
-
数字が全角、コンマなし
-
何故、日本は未だに数字を3桁...
-
PHP カンマをエスケープしたい...
-
C#で、テキストボックスの入力...
-
ひとつの命令を複数行に記述
-
VBAでtxtファイルを読み込む際...
-
JPY ¥1,500.00は日本円でお幾ら?
-
Excelについて質問です。 セル...
おすすめ情報