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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 範囲指定をした中で、住所の列をユーザー設定の並べ替えをしたい 3 2022/05/15 13:51
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける (再質問) 4 2022/09/14 22:51
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- その他(Microsoft Office) Excel 2列分のDATAの並べ替え 1 2023/01/01 17:12
- その他(プログラミング・Web制作) エクセルVBA 3 2022/06/11 16:01
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
EXCELからCSVにすると余計なカ...
-
[VBA][Excel]クリップボードか...
-
数字が全角、コンマなし
-
データにカンマが入ったCSVデー...
-
C#で、テキストボックスの入力...
-
VB2005のTextBoxでカン...
-
エクセルの区切り位置の設定方法
-
マクロを使ってフォルダー内に...
-
データグリッド内の数値をカン...
-
JPY ¥1,500.00は日本円でお幾ら?
-
StringGridの内容をクリップボ...
-
パス区切りの文字について
-
EXCELの文字が指数になる
-
CSVの定義
-
カンマ区切りの数字をCSVフ...
-
WORDで改ページすると時々グレ...
-
カンマ区切り
-
VBAでtxtファイルを読み込む際...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSVファイルの中で、「 , 」カ...
-
データにカンマが入ったCSVデー...
-
EXCELからCSVにすると余計なカ...
-
エクセルで数値を全角文字(カ...
-
マクロを使ってフォルダー内に...
-
カンマ区切りの数字をCSVフ...
-
WORDで改ページすると時々グレ...
-
CSVの定義
-
[VBA][Excel]クリップボードか...
-
カンマ区切り
-
ひとつの命令を複数行に記述
-
「カンマ」と「コンマ」は同じ...
-
VBAでtxtファイルを読み込む際...
-
何故、日本は未だに数字を3桁...
-
エクセルの区切り位置の設定方法
-
PHP カンマをエスケープしたい...
-
C#で、テキストボックスの入力...
-
海外のケータイ(GSM携帯)はハ...
-
3桁ごと?4桁ごと?コンマの...
-
openoffice calcで#DIV/0! の...
おすすめ情報