CSV

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2059閲覧

バッチファイルでsqlを実行してcsv出力時に結果が0行だった際にファイル生成をしたくない

tkdm

総合スコア3

CSV

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/05/02 01:10

編集2022/05/02 01:11

バッチファイルでsqlを実行し、結果をcsvに出力する際に結果が0行だった場合にcsv出力を行わない事は出来るのでしょうか。
バッチの一部分の抜粋ですが、SQL結果をcsv出力し、その結果をpythonでグループウェアに通知するようにしているのですが、テスト時にはタイトル行を最初に送信する動作を入れていなかった為、分岐をしているように見えていましたが、後日タイトルだけ送信されていました。
後の処理上で0行だった場合に通知を行わないとするのが良いのですが、可能でしょうか。

@rem csv生成実行 sqlcmd -S 255.255.255.255\db -U id -P pass -d dbdb -i "jikko.sql" -s, -W -h -1 -o "kekka.csv" if not exist kekka.csv ( @rem 対象無しで未稼働 ) else ( @rem 送信タイトル set title="タイトル" @rem タイトルを送信 python pythonbot.py !title! @rem ループしてcsvの内容を1行ずつ送信 for /f %%s in (kekka.csv) do ( set out1=%%s @rem echo !out1! @rem pythonスクリプト実行(out1を引数に指定) python pythonbot.py !out1! set /a n=n+1 )

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

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

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

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

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

guest

回答1

2

ベストアンサー

バッチファイルでsqlを実行し、結果をcsvに出力する際に結果が0行だった場合にcsv出力を行わない事は出来るのでしょうか。

文字通りには出来ないので、「ファイルサイズが0かどうか」によって条件分岐をすれば良いかと思います。

参考:

CMD

1for %%A in (kekka.csv) do set SIZE=%%~zA 2if "%SIZE%"=="" ( 3 echo ファイルが存在しない 4) else if "%SIZE%"=="0" ( 5 echo ファイルサイズがゼロ 6) else ( 7 echo ファイルサイズがゼロでない 8)

投稿2022/05/02 03:15

otn

総合スコア86363

tkdm, nkym771👍を押しています

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

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

tkdm

2022/05/02 04:32

出力されたcsvの状態を見る発想がありませんでした・・・。上記を組み込んでみたら望む動きをしました。 ファイルサイズが0だった場合に出力されたcsvを同時に削除すれば出力しないのと同じ事にも出来ました。 早期のご回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問