如何使用python将列表插入到需要进入1列的mysql中

时间:2016-01-19 10:24:48

标签: python mysql

我有一个列表,或者它可以是一个有效的元组。列表都是变量,将是数字。

    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来拆分管道或|并在我需要时选择我的结果。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

将列表或元组转换为字符串,然后插入表

list_str = '|'.join(str(item) for item in varlist)

sql2 = "INSERT INTO sensor_data Values ('{0}')".format(list_str)