|
分類:[C#]
Visual Studio2019のWindowsフォームアプリケーションで データをまとめてcsvにするアプリを作っています。
ファイルの読み込みとcsvの書き込みのロジックが思いつかないので相談させてください。
フォルダ内に数十件のテキストファイルがあります。(100件以下、一番重いのでも10KBは超えません) ファイル名は固定文字_数字_英数字@_英数字A.txtが基本の形です。例:A_12345678_ABC123_123abc.txt しかし中には A_12345678_ABC123_123abc.1.txt ファイル名の最後に英数字Aに対しての枝番が付いているファイル A__ABC123_123abc.txt 数字がないファイル などもあります。
これをCSVに書き込む時に 英数字@ | 数字 | 英数字Aのファイルの中の値1 | 英数字Aのファイルの中の値2 | 数字と英数字@が同じファイルの英数字Aのファイルの中身 | 数字と英数字@が同じファイルの英数字Aのファイルの中身... 例:ABC123,12345678,OK,300,NG,12, .... 数字と英数字@の2つが同じファイルがある限りcolumnを増やします。
そして枝番が付いたものはその下の行に追加します。 英数字@ | 数字 | 英数字Aのファイルの中の値1 | 英数字Aのファイルの中の値2 | ... 英数字@ | 数字 | 英数字Aの枝番1のファイルの中の値1 | 英数字Aの枝番1のファイルの中の値2 | ... 英数字@ | 数字 | 英数字Aの枝番2のファイルの中の値1 | 英数字Aの枝番2のファイルの中の値2 | ...
枝番ファイルは英数字@と数字の箇所は空白でも問題ありません。
↓イメージです。 項目ごとにファイルを別にしていると考えて下さい。 型名 | シリアル | 項目1結果 | 項目1値 | 項目2結果 | 項目2値 | 項目3結果 | 項目3値 |... ABC123 | 12345678 | NG | 10 | OK | 100 | NG | 10 |...←枝番なし | | OK | 100 | | | OK | 100 |...←枝番がついてるファイル
ロジックが思いつきません。 どういう順番でどういった処理をしたらいいでしょう?
ちなみに項目名には順番があり、今後増減する可能性があるので別途csvに項目名を記載して、Regex.Matchで順に処理しようと考えています。
よろしくお願いします。
|