
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も見ています
-
先着1,000名様に1,000円分もらえる!
教えて!gooから感謝をこめて電子書籍1,000円分プレゼント
-
c#でcsvから指定の1行だけを読み込む方法
C言語・C++・C#
-
C#にて別クラスの関数を使いたい
C言語・C++・C#
-
StreamReaderで読み込んだファイルの行数
C言語・C++・C#
-
4
C#「オブジェクト参照が必要です」(初心者)
その他(プログラミング・Web制作)
-
5
csvデータの列の入れ替えができるソフト
その他(ソフトウェア)
-
6
c# 文字列の最後から1文字削除したい
C言語・C++・C#
-
7
CSVファイルの特定行の削除
Visual Basic(VBA)
-
8
C# csvでセル内で改行するには
C言語・C++・C#
-
9
vb2010でCSVファイルを並び替えて保存方法
Visual Basic(VBA)
-
10
フルパスから最後のディレクトリ名を取得したい。
Visual Basic(VBA)
-
11
csvファイル内にてソートする方法
Visual Basic(VBA)
-
12
【C#】二次元配列へのcsvファイルの格納について
C言語・C++・C#
-
13
C# 計算処理中に実行中ウィンドウを表示させたい。
C言語・C++・C#
-
14
CSVから指定行だけを読み込み
Visual Basic(VBA)
-
15
C#で作成したアプリケーションからExcelの特定のセルに書き込むには?
その他(プログラミング・Web制作)
-
16
textファイルの内容の削除について(C#です)
C言語・C++・C#
-
17
DataGridViewのチェックボックスのON、OFFの判定方法
C言語・C++・C#
-
18
C#のループでtextboxに値を入れる方法
C言語・C++・C#
-
19
C#でのファイル編集と上書き保存について
その他(プログラミング・Web制作)
-
20
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
関連するQ&A
- 1 c#で(",")区切りのcsvファイルから読み込みを行うには?
- 2 C#について質問【複数の.datファイルからデータを取得後csvファイルでリストを作成】
- 3 C言語初心者です。 C言語のファイル読み込みの仕方について質問です。 10行10列の数字がかかれてあ
- 4 C#でCSVファイルをリストビュー(listView)で表示
- 5 [C#.NET]DataSetにタブ区切りのファイルを読み込む
- 6 c#でcsvファイルをリソースとして読み込むには?
- 7 【C#】 csvファイルをバイナリ化する手順
- 8 C#ソースをCSCファイルにてコンパイル時,アセンブリ参照不足について 当方,C#を勉強中のものです
- 9 C#とc++の違いは何がありますか? また、似た部分は何がありますか? C#を勉強した後のc++は別
- 10 C言語でのカンマ区切りについて
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
[VBA][Excel]クリップボードか...
-
5
「カンマ」と「コンマ」は同じ...
-
6
WORDで改ページすると時々グレ...
-
7
エクセルの1セル内の文字列操作。
-
8
エクセルのセルごとに貼り付け...
-
9
海外のケータイ(GSM携帯)はハ...
-
10
3桁ごと?4桁ごと?コンマの...
-
11
openoffice calcで#DIV/0! の...
-
12
カンマ区切りの数字をCSVフ...
-
13
カンマ区切り
-
14
エクセルで数値を全角文字(カ...
-
15
エクセル 区切り位置 スペー...
-
16
エクセルにペーストする際にカ...
-
17
カンマ区切りでないテキストをc...
-
18
JPY ¥1,500.00は日本円でお幾ら?
-
19
テキストファイルからReadLine...
-
20
8進数の10は16進数ではいくつに...
おすすめ情報