sc2*_*c28 5 python string-formatting
我查看了具有此IndexError的类似问题,但没有找到我的案例的解释.有人可以解释我为什么会收到错误吗?
以下代码
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])
Run Code Online (Sandbox Code Playgroud)
给出了这个错误
IndexError:元组索引超出范围
但是,我会计算7个占位符(即大括号{})和7个要输入的项目.为什么错误呢?感谢您的任何观点..
Ric*_*Xia 11
str.format()接受与格式字符串中"孔"数相对应的可变数量的参数.在您的情况下,您将传递一个参数(列表).format(),这会导致错误,因为它需要七个参数.
要将数组作为单独的参数传递给函数,您需要*像这样使用运算符:
insertfmt.format(*mySF2[0])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5288 次 |
| 最近记录: |