-1
fields = ["date", "time", "a_x", "a_y", "a_z", "roll", "pitch", "yaw", "ug_x", "ug_y", "ug_z", "o2", "hyd", "bpm"]
import csv
f = open("data.TXT")
dialect = csv.Sniffer().sniff(f.read(), delimiters=' ')
f.seek(0)
reader = csv.reader(f, dialect)
rows = []
obj = {}
for row in reader:
for i, field in enumerate(fields):
obj[field] = row[i]
if field == "a_x":
obj[field] = float(row[i])
elif field == "a_y":
obj[field] = float(row[i])
elif field == "a_z":
obj[field] = float(row[i])
elif field == "roll":
obj[field] = float(row[i])
elif field == "pitch":
obj[field] = float(row[i])
elif field == "yaw":
obj[field] = float(row[i])
elif field == "ug_x":
obj[field] = float(row[i])
elif field == "ug_y":
obj[field] = float(row[i])
elif field == "ug_z":
obj[field] = float(row[i])
elif field == "o2":
obj[field] = int(row[i])
elif field == "hyd":
obj[field] = int(row[i])
elif field == "bpm":
obj[field] = int(row[i])
else:
obj[field] = str(row[i])
rows.append(obj)
import requests
requests.get("http://localhost:5000/api/players")
for obj in rows:
# *** Here is the error ***
row["player_id"] = ['03fd6907-64fc-46e7-b1f2-38af96c48037']
requests.post("http://localhost:5000/api/impact")
コメントは、2番目から最後の行のコードでエラーが発生します。このコードは、テキストファイルからデータベースに情報をアップロードすることを目的としています。データ型を変更すると、別のファイルに書き込まれたスキーマと一致します。エラー:リストインデックスはstrではなく、indtegersでなければなりません
56行目のエラーの原因がわからない、リストインデックスが整数でなければならない、strではない、またはそれを修正する方法。
[ "A_X"、 "A_Y"、...]:OBJ [フィールド] = float(row [i])["o2"、...]のelifフィールド:obj [field] = int(row [i]):else:... '。 – chepner
@chepner:良い点。それを私の答えに加えました。 –
@StevenRumbalskiがあなたの提案を取って、列にOBJのため を実装: OBJ [ "player_id"] = [ '03fd6907-64fc-46e7-b1f2-38af96c48037'] 私はエラーが表示された「 'strの' オブジェクトをサポートしていません。 item assignment '" – user6922159