私が持っているCSVファイルのいくつかのセルを少し処理する小さなアプリを書いています。オンラインで見つけたライブラリを使用して CSV ファイルを読み書きする方法を理解しましたが、問題があります。ライブラリは CSV ファイルを解析して DataTable にしますが、テーブルのセルを変更しようとすると、そうではありません。変更をテーブルに保存していません!
以下は問題のコードです。プロセスを複数の変数に分割し、いくつかの名前を変更して、この質問のデバッグを容易にしました。
コード
ループ内:
string debug1 = readIn.Rows[i].ItemArray[numColumnToCopyTo].ToString();
string debug2 = readIn.Rows[i].ItemArray[numColumnToCopyTo].ToString().Trim();
string debug3 = readIn.Rows[i].ItemArray[numColumnToCopyFrom].ToString().Trim();
string towrite = debug2 + ", " + debug3;
readIn.Rows[i].ItemArray[numColumnToCopyTo] = (object)towrite;
ループの後:
readIn.AcceptChanges();
コードをデバッグすると、行が更新されていないことを除いて、 towriteが正しく形成され、すべて問題ないことがわかります。なぜ機能しないのですか? ここで単純な間違いを犯しているように感じます。前回 DataTables を使用したとき (かなり前)、同様の問題がありました。
towriteに別のコンマを追加する理由が不思議に思われる場合は、住所フィールドと郵便番号フィールドを組み合わせているためです。これで問題が発生しないことを願っています。
小さな修正を行うために 1 つのファイルのみを編集しようとしているだけなので、私のコードはちょっと面倒です。申し訳ありません。