質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

1回答

2346閲覧

取り込んだcsvファイルA編集をしたい

退会済みユーザー

退会済みユーザー

総合スコア0

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2020/10/20 03:57

編集2020/10/20 05:18

C#でcsvファイルを別のcsvファイルに書き換え

Aのcsvファイル(読み取るcsvファイル) 
カラム1,カラム2,カラム3,カラム4,カラム5
aaa,bbb,ccc,ddd,eee

datagridview
カラム0,(カラム1),カラム3,カラム5,カラム2
□□□,aaa,ccc,eee,bbb
※空を表しています

①ファイルAを読み込む
②読み込んだファイルAを使いファイルBを作る
c#で上記のファイルAからファイルBの形に書き換えたい
説明下手で申し訳ないのですが、CSVファイルを読み、並べ替えたデータをDataTableへ投入したいです
無い物に関してはデータは空でdatagridviewに出力したいです。

private DataTable Read(string filepath) { DataTable dataTable = new DataTable(); string[] lines = File.ReadAllLines(filepath, Encoding.GetEncoding("Shift_JIS")); if (lines.Length > 0) { string firstline = lines[0]; string[] strHeader = firstline.Split(','); foreach (string strWorld in strHeader) { dataGridView1.Columns.Clear(); dataTable.Columns.Add(new DataColumn(strWorld)); } for (int row = 1; row < lines.Length; row++) { string[] word = lines[row].Split(','); DataRow dataRow = dataTable.NewRow(); int columindex = 0; foreach (string strWorld in strHeader) { dataRow[strWorld] = word[columindex++]; } dataTable.Rows.Add(dataRow); } } if (dataTable.Rows.Count > 0) { dataGridView1.DataSource = dataTable; } return dataTable; } private void button1_Click(object sender, EventArgs e) { dataGridView1.Columns.Clear(); dataGridView1.AutoGenerateColumns = true; bindingSource1.DataSource = Read("TextFile1.txt") }

試したこと

①は行っていて一旦取り込んだものはdatagridviewに表示しています。
②をどうしたらいいのか分からずここを伺いたいです。

補足情報(FW/ツールのバージョンなど)

visualstudio2017
ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2020/10/20 04:09

CSV を出力してないので表示の問題だけだと思うんですが、Columns をデザイナで編集すれば済む話ではないですか? それとも出力するんでしょうか?
YAmaGNZ

2020/10/20 04:12

CSVファイルBにという話ですが、提示ソースにはCSVとして保存する部分はありませんし、CSVの編集なのにDataGridViewのカラムの順序の変更について言われています。 結局、何が質問なのでしょうか?
dodox86

2020/10/20 04:57

並び変えたファイルBを保存するのだとしたら、DataTableも必要ない(CSVファイルを読み、並べ替えたデータをDataTableへ投入すればよいだけ)ですね。
Zuishin

2020/10/20 05:20

同じ編集するならちゃんと説明すればいいのに。雑。
guest

回答1

0

読み込んだ後にDataColumn.SetOrdinal(Int32)メソッドを使ってはどうですか?

投稿2020/10/20 06:09

YAmaGNZ

総合スコア10251

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問