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

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

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

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

Q&A

1回答

760閲覧

pythonのfor文の読み飛ばしについて

退会済みユーザー

退会済みユーザー

総合スコア0

Python

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

0グッド

0クリップ

投稿2019/07/12 19:00

python3でプログラムを作成しています。
forループ文で、配列に空白があった場合、読み飛ばしてlogger出力する方法を
教えてください。
以下ソースコードのif文に当てはめるようにしたいです。
当てはまらないようでしたら、別案をお願いします。
また、以下図は配列とデータのイメージです。
よろしくお願いします。

[0] | [1] ---------------------------- company_code1|company_code2 -------------|-------------- | | 12345 | | 67890 ------------------------------

該当のソースコード

for row_rec in rows:
a0 = row_rec[1]
if a0** ~~~~~~~:**

ERROR_flg = 1

      self.logger.¥
error("会社コード:{value}がマスタに存在しません。"
.format(value=a0))

出力の理想:
会社コード:12345がマスタに存在しません。
会社コード:67890がマスタに存在しません。

試したこと

for row_rec in rows:
a0 = row_rec[1]
if a0 == ' ':
continue
ERROR_flg = 1
self.logger.¥
error("会社コード:{value}がマスタに存在しません。"
.format(value=a0))

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

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

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

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

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

guest

回答1

0

元データが不明ですが、スペース一文字かの判定であれば正常に動作します。
もし空文字列かを判定したければif not a0
任意個数のスペース文字かを判定したければif not a0.strip()としてください。

Python

1rows = [(0,' '),(0,'12345'),(0,' '),(0,'67890')] 2for row_rec in rows: 3 a0 = row_rec[1] 4 if a0 == ' ': 5 continue 6 print( "会社コード:{value}がマスタに存在しません。".format(value=a0))

投稿2019/07/12 19:18

can110

総合スコア38234

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

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

退会済みユーザー

退会済みユーザー

2019/07/12 19:49

ありがとうございます。 また、continueは、ループの1行目が空白だった場合、2行目を見に行けますでしょうか。
can110

2019/07/12 23:59

すみません。質問の意味が分かりません。
退会済みユーザー

退会済みユーザー

2019/07/13 03:53

すみません。 私の質問にテーブルデータのイメージ図がありますが、[1]カラム目の1レコード目と3レコード目にはデータが入っておらず、空白文字が入っている状態です。 continue文では、1レコード目が空白だった場合、2レコード目を見に行くことができるか、ということです。 それとも1レコード目で止まってしまいますかね、、、
can110

2019/07/13 03:59

実際にコードを実行してみてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問