アプリ版:「スタンプのみでお礼する」機能のリリースについて

バッチでファイルの編集をしたい

バッチファイルを使用して、csvファイルの読み込み~編集を行いたいと思っております

元ファイル:TEST_DATA.csv
内容:
111,222,333,444,555
123,456,789,321,987


上記のcsvファイルを読み込み、
・5カラム目が987ならば3カラム目を654に変更する
という処理を実行させたいのですが、
どのように行えばよいのでしょうか?

現在考えていることは、
1.for文を使用して指定のカラムを抜く(3カラム目と5カラム目を抜く))
2.5カラム目の値をif条件に指定し、合致した場合、抜いた3カラム目の変数に654を入れる
3.654に変更した変数を3カラム目の値として入れる

という順番で行えばいいと思っているのですが、
下記まで行ったところで行き詰ってしまいました

for /F "tokens=3,5 delims=," %%i IN (TEST_DATA.csv) DO @(if %%j==987 set %%i=654 echo %i %j )



お分かりになられる方、ご教授願えませんでしょうか

A 回答 (2件)

5カラムまであるとして、



for /f "tokens=1-5 delims=," %%A in (TEST_DATA.csv) do (
if %%E == 987 (echo %%A,%%B,654,%%D,%%E) else (echo %%A,%%B,%%C,%%D,%%E)
)

もっと他の条件があれば、さらに複雑な処理になります。
    • good
    • 0
この回答へのお礼

確認できました。
ありがとうございます。

ただ、出力関して最終的に出力がうまくいかなかったので、
別ファイルへの出力で実施いたしました。


1.TEST_DATA.csv読み込み
2.2_TEST_DATA.csvへ書き込み
3.TEST_DATA.csv削除
4.2_TEST_DATA.csvをTEST_DATA.csvへ変換

です。

お礼日時:2014/10/30 10:32

「行き詰った」というのは, 具体的にはどのように「行き詰った」んでしょうか?



例えば 1カラム目とか 4カラム目とかはどうするつもりだった?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています