小能豆

TypeError:元组索引必须是整数,而不是 str

py

我正在尝试从数据库中提取数据并将它们分配给不同的列表。这个特定的错误给我带来了很多麻烦“TypeError:元组索引必须是整数,而不是 str”我尝试将其转换为浮点数等,但没有成功。

代码如下

conn=MySQLdb.connect(*details*)
cursor=conn.cursor()
ocs={}
oltv={}
query="select pool_number, average_credit_score as waocs, average_original_ltv as waoltv from *tablename* where as_of_date= *date*"
cursor.execute(query)
result=cursor.fetchall()

for row in result:
    print(row)
    ocs[row["pool_number"]]=int(row["waocs"])
    oltv[row["pool_number"]]=int(row["waoltv"])

打印语句的示例输出如下:

('MA3146', 711L, 81L)
('MA3147', 679L, 83L)
('MA3148', 668L, 86L)

这是我得到的确切错误:

ocs[row["pool_number"]]=int(row["waocs"])
TypeError: tuple indices must be integers or slices, not str

我该如何解决这个错误?


阅读 48

收藏
2024-10-31

共1个答案

小能豆

就像错误所说的那样,row是一个元组,因此您不能执行row["pool_number"]。您需要使用索引:row[0]

2024-10-31