TypeError: 'str' と 'float' のインスタンスの間で '>' がサポートされていない。
2022-02-21 17:59:53
意味
浮動小数点と文字列を比較できないタイプエラーです。
発生理由
このタイプのエラーが発生し、現在以下の2つのケースが発生しています。
** 2列のExcelデータに対して、辞書キーとキー値の対応演算を行う場合、キー値列のデータが浮動小数点型と文字列型の両方で存在する場合。**
コード表示
import xlrd
f1 = xlrd.open_workbook('wordcount_test.xlsx')
# Get the names of the sheets in Excel, here we just get the first sheet
name = f1.sheet_names()[0]
# Select the specified sheet for operation
sheet = f1.sheet_by_name(name)
words_list_tem=sheet.col_values(0)
words_list=[str(i) for i in words_list_tem]
counts_list=sheet.col_values(1)
cipin_dict = dict(zip(words_list,counts_list)) # convert to dictionary for speedup
を実行すると、クラスエラーが報告されます。
外観の主な理由
B列はすべて浮動小数点型であるべきですが、実は読み取ったデータは文字列型として存在し、その文字列を
print([type(i) for i in count_list])
列のデータ型を確認します。最後のチェックで、誤ってセルに入力されたエクセルが見つかり、エクセルの読み込みでは、最も長いセルの位置に応じて列の長さが計算され、空のセルには自動的に文字列型が埋められます
" "
状況1是正措置
余分なセルを削除するだけです。冗長な文字列型は、実は空セルで
" "
有効なデータセル以外のデータを削除することで、文字列の長さを正常に戻すことができます。
次に、input()が返すデータ型はstrであり、整数と直接比較することはできない。
ID = input("Please enter your student number: ") #input() returns a string type
if ID % 3==0:
result_1 = (ID / 3)**3
print(result_1)
elif ID % 3==1:
result_2 = ID // 3
print(result_2)
else:
result_3 = (ID-(ID // 3)*3)**2
print(result_3)
ID = float(input("Please enter your school number: "))
if ID % 3==0:
result_1 = (ID / 3)**3
print(result_1)
elif ID % 3==1:
result_2 = ID // 3
print(result_2)
else:
result_3 = (ID-(ID // 3)*3)**2
print(result_3)
状況2是正措置
ID = float(input("Please enter your school number: "))
if ID % 3==0:
result_1 = (ID / 3)**3
print(result_1)
elif ID % 3==1:
result_2 = ID // 3
print(result_2)
else:
result_3 = (ID-(ID // 3)*3)**2
print(result_3)
関連
-
python implement mysql add delete check change サンプルコード
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】ImportError: xgboost という名前のモジュールがない
-
[解決済み] TypeError: 整数の引数を期待したが、画像をグレイスケールに変換するときに浮動小数点になった。
-
[解決済み] Biopython(Python)を使ってFASTAファイルから配列を抽出する。
-
[解決済み] discordのリッチエンベッドでgifを埋め込む方法。
-
lxml in python +*.whl のインストールは、このプラットフォームではサポートされていないホイールです。
-
Python Data Analysis-ImportError: pandas.io.data'という名前のモジュールがありません。
-
Python エラー--反復不可能な int オブジェクトをアンパックできない
-
Pythonの小さなエラー collectionsAttributeError: 'dict' オブジェクトに 'add' 属性がない。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Pandas - 関数のドロップエラー(ラベルが軸に含まれていない)【重複】。
-
git push workaround: ! [リモート拒否] master -> master (受信前のフックは拒否されました)
-
[解決済み] numpy.correlateを使って自己相関をするにはどうしたらいいですか?
-
[解決済み] ドライバが/usr/local/binにあるにもかかわらず、Selenium "Unable to find matching set of capabilities "と表示される。
-
[解決済み] MySQLdb モジュールの読み込みに失敗しました。MySQLdb'という名前のモジュールはありません。
-
[解決済み] NameError: name 'random' is not defined [closed].
-
[解決済み] OpenCV 3.1.0 with Python 3.5 の `CV_HAAR_SCALE_IMAGE` はどこにあるのでしょうか?
-
[解決済み] PythonのTurtleモジュールがインポートされない
-
[解決済み] 名前パターンをインポートできない
-
Python2 error connecting to mysql to get value TypeError: unsupported operand type(s) for /: 'float' および 'NoneType'