格式化字符串时不理解“索引器:元组索引超出范围”的原因

2024-10-02 00:25:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我看了类似的问题,但没有找到对我的案例的解释。有人能解释我为什么会出错吗

下面的代码

mySF2[0]=['000browser', '1', 'Floor', '0.92', '1.74', 'con', 'None']

insertfmt = ' '.join([
"INSERT INTO mySchema.myTable_{}_name (col1, col2, col3, col4, col5, col6)",  
"VALUES ({}, {}, NULLIF({},'None')::decimal, NULLIF({},'None')::decimal, {}, NULLIF({},'None')::int)"
         ])

insertfmt.format(mySF2[0])

给出了这个错误

IndexError: tuple index out of range

但是,我要输入7个占位符(即花括号{})和7个项目。那么为什么会出现错误呢


Tags: 代码none错误mytablecon案例insertdecimal
2条回答

尝试使用seaborn和注释绘图时出现相同问题。我在用

sns.heatmap(df, annot=True, fmt="{.0%}")

拆下支架将其固定 :

sns.heatmap(df, annot=True, fmt=".0%")

str.format()接受与格式字符串中的“孔”数量相对应的可变数量的参数。在本例中,您正在将单个参数(列表)传递给.format(),这会导致错误,因为它需要七个参数

要将数组作为单独的参数传递给函数,需要使用*运算符,如下所示:

insertfmt.format(*mySF2[0])

相关问题 更多 >

    热门问题