python连hive给表中插入值时出现变量参数%s 报错
2021-07-20 本文已影响0人
丙吉
这两天把一个本地的数据插入到HIVE表中,本以为三下五除二能搞定,结果搞了好久,之前没有特别理解。现在记录下:
w_sql = "select count(1) from %s" % ('wg_pre')
w_sql = "insert into table wg_pre values (%s, %s, %s,%s)" % ('5.10115E+10', '2021/7/17', '3:00', 129199)
![](https://img.haomeiwen.com/i7468301/3afd90c29b193c57.png)
这样是查表'wg_pre'的行数,没有报错;但把几个值插入到表中时直接用%s就报错,但改为下列语句即可执行。
w_sql = "insert into table wg_pre values ('%s', '%s', '%s',%s)" % ('5.10115E+10', '2021/7/17', '3:00', 129199)
![](https://img.haomeiwen.com/i7468301/5944e96194eeea28.png)
原因
%s表示数字类型,如NUMBER;
'%s'表示字符串类型,如VARCHAR2。
%d 是整型
%f 浮点数,即带小数点的数