我有一个列表,或者它可以是一个有效的元组。列表都是变量,将是数字。
varlist = [temp1,temp2,temp3,temp4,temp5,temp6]
然后我使用此代码将其插入数据库。
sql2 = "INSERT INTO sensor_data Values ({0})".format(varlist)
cursor.execute(sql2)
这是打印出的变量sql2。
INSERT INTO sensor_data Values ((76.7, 76.3, 76.2, 76.3, 76.2, 76.2))
我尝试过各种不同的想法,但一直都会遇到错误。这是我在python脚本中使用终端的那个。
Traceback (most recent call last):
File "GetSensorDataHistory.py", line 188, in <module>
cursor.execute(sql2)
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
self.errorhandler(self, exc, value)
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1241, 'Operand should contain 1 column(s)')
我需要1个表格列中的所有列表,理想情况下我希望它能够像这样格式化。
+-------------------------------+
| sensor_data |
+-------------------------------+
| 76.7|76.3|76.2|76.3|76.2|76.2 |
+-------------------------------+
然后我可以使用perl或php来拆分管道或|并在我需要时选择我的结果。
我做错了什么?
答案 0 :(得分:0)
将列表或元组转换为字符串,然后插入表
list_str = '|'.join(str(item) for item in varlist)
sql2 = "INSERT INTO sensor_data Values ('{0}')".format(list_str)