【问题标题】:Insert Python array with different values into MySQL将具有不同值的 Python 数组插入 MySQL
【发布时间】:2014-09-17 19:40:33
【问题描述】:

如何使用 Python 将具有不同格式(如日期、浮点数和整数)元素的数组插入到数据库中的 MySQL 表中?我对编程很陌生,所以如果我犯了任何简单的错误,请原谅

这是我一直在尝试的代码:

f=open('xyz.txt')
d=f.readlines()
y=[x.split() for x in d]
print y
import MySQLdb
db = MySQLdb.connect(host="localhost",user='root',passwd='***',db='name')
cur = db.cursor()
var_string = ','.join('%s' * len(y))
sql = "INSERT INTO table1 VALUES ('%s');" % (var_string)
cur.execute(sql,y)

这就是我的数组的样子:

[['1', '"01/01/2007"', '0', '0.000', '10.14', '0.0000', '87'], ['1', '"01/01 /2007"', '1', '0.000', '10.93', '0.0000', '87'], ['1', '"01/01/2007"', '2', '0.000', ' 11.78', '0.2540', '89'], ['1', '"01/01/2007"', '3', '0.000', '13.23', '0.5080', '90'], [' 1', '"01/01/2007"', '4', '0.000', '14.43', '0.0000', '89'], ['1', '"01/01/2007"', ' 5', '0.000', '14.89', '0.0000', '88']]

【问题讨论】:

  • 没有“mysql 工作台表”之类的东西。工作台是 mysql 的一个接口,它是包含您的“表”的 mysql 数据库服务器。如果你想用python插入东西,那么我建议你学习SQL和Python

标签: python mysql arrays


【解决方案1】:

MySQL“格式化”您的查询。

INSERT INTO tbl_name (string,integer) VALUES('George Orwell',1984);

但请仅使用您在创建表格时设置的格式! 不要在 varchar 或类似的东西中保存 500 个字符的字符串。

如果您需要帮助选择正确的格式,请点击此处链接:http://dev.mysql.com/doc/refman/5.6/en/data-types.html

但在大多数情况下,您可以使用整数和 varchar。

【讨论】:

    【解决方案2】:

    (旁注:您是否考虑过某种 NoSQL 设置?其中大多数可以更好地处理混合类型。)

    现在,由于 SQL 不允许使用不同的输入类型,因此您需要自己进行管理。我的建议是将所有内容都转换为字符串,然后在加载时重新转换。有第二列给出原始数据的类型可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 2014-07-22
      • 2015-10-30
      • 2015-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-15
      • 1970-01-01
      • 2022-01-25
      相关资源
      最近更新 更多