初学者です。
以下、ご教示いただけますと幸いです。
実現したいこと
(要約)
pythonでcsvから取得した値をint32に変換したい。
(詳細)
取得した座標を他のファイルでも使えるようにする目的で、
一旦csvに保存して別ファイルで開きなおしたところ、
dtypeが<U10(もしくは<U11)と表示されるようになりました。
元の状態ではdtypeがint32となっていたため、同じようにint32にならないかと思います。
ウェブ上で変換に関連する記事は多数あるもののの、うまく再現できないため、ご教示いただけますと幸いです。
発生している問題・エラーメッセージ
Exception has occurred: _UFuncNoLoopError
ufunc 'subtract' did not contain a loop with signature matching types (dtype('<U11'), dtype('<U10')) -> None
該当のソースコード(pythonファイル)
import csv
import numpy as np
with open("/python-test/csv-test.csv", 'r',encoding="utf-8") as f:
reader = csv.reader(f)
l = [row for row in reader]
bl2 = (l[0][0])
tl2 = (l[0][1])
br2 = (l[0][2])
tr2 = (l[0][3])
p1 = np.array(tl2)
p2 = np.array(tr2)
p3 = np.array(bl2)
p4 = np.array(br2)
# 幅取得
o_width = np.linalg.norm(p2 - p1)
o_width = math.floor(o_width * w_ratio)
# 高さ取得
o_height = np.linalg.norm(p3 - p1) ←ここでエラーが出ます
o_height = math.floor(o_height)
該当のソースコード(csvファイル)
"(287, 892)","(315, 384)","(1199, 882)","(1158, 372)"
以上です。
よろしくお願いいたします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/01/29 04:36