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

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

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

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

Q&A

解決済

2回答

1905閲覧

int型に変換する際のエラー

chikuchikuwa

総合スコア20

Python

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

0グッド

0クリップ

投稿2020/06/30 08:13

クローリングでデータを変換する際に下記のエラーが出ます。

エラーメッセージ
ValueError: invalid literal for int() with base 10:''

python

1price_text = price_text.replace("¥", "") 2 price_text = price_text.replace(",", "")

上記コードのように不要なものは取り除いています。
'abc'のようなものがintに変換できない、という意味ならわかりますが、''内に何もなく、何が変換できてなくてエラーになっているのかわかりません。
このエラーは出ることもあれば出ないこともあり、プログラムを書き換えることなく実行できることもあります。
どういうことでしょうか。

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

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

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

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

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

guest

回答2

0

原因

int() は 10 進数として認識できない文字列が引数に与えられると
該当のエラーメッセージを表示します:

console

1ValueError: invalid literal for int() with base 10:''

参考: 組み込み関数 — Python 3.8.3 ドキュメント

実験

次のコードを実行してみます:

python

1print(int('0')) 2print(int('1')) 3print(int('23')) 4print(int('-456')) 5print(int(''))

実行結果:

console

1$ python test.py 20 31 423 5-456 6Traceback (most recent call last): 7 File "test.py", line 5, in <module> 8 print(int('')) 9ValueError: invalid literal for int() with base 10: ''

投稿2020/06/30 08:23

y_shinoda

総合スコア3272

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

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

0

ベストアンサー

文字列が空だと提示のValueErrorになります。

Python

1s = '' 2print(int(s)) # ValueError: invalid literal for int() with base 10: ''

文字列があるか判定したうえで数値化するとよいでしょう。

このエラーは出ることもあれば出ないこともあり、プログラムを書き換えることなく実行できることもあります。

どういうことでしょうか。

クローリングで取得されたデータが違うからだと思いますが、いかがでしょうか?

投稿2020/06/30 08:20

can110

総合スコア38262

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

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

chikuchikuwa

2020/06/30 08:32

replace("", "")で除去?できると勘違いしてました。 文字列があるか先に判定することで解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問