数据类型转换为Mysql或python

时间:2011-11-29 16:58:07

标签: python mysql types

我有一个.txt文件,其中包含一行unixtime,如(1322485992.420381000),点前后的数字对于所有数据都是相同的。首先,我想将此列导入Mysql表,我应该如何定义数据类型?

CREATE TABLE videoinfo (id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, unixtime char(50))

之后,在Python中,我需要将此列转换为日期时间,如:2011-11-28 14:25:23 我使用results来保存从数据库中获取的数据,然后尝试将其转换为datetime。 但它无法奏效,它说datetime.fromtimestamp requires a float。但是如果我使用unixtime float(10,10)来创建列,则无法将来自txt文件的数据写入数据库。

results = cur.fetchall()
for result in results:
    times = datetime.fromtimestamp(result[0])
    cur.execute("ALTER TABLE youtube ADD date DATETIME NOT NULL DEFAULT after unixtime")
    for time in times:
        cur.execute(u'''insert into `date` values (%s)''', time)

有人可以帮忙吗?非常感谢!!!

CNC中 for row in cur.fetchall(): print (row) times = datetime.fromtimestamp(float(row)) 打印结果为('1322485970.084063000',),然后错误消息为TypeError: float() argument must be a string or a number. 那么如何获取纯字符串值以摆脱('',)

CNC中 使用row [0]代替......问题解决了......

1 个答案:

答案 0 :(得分:1)

看起来像DOUBLE(11,9),虽然这么大的数字可能会导致32位系统出现问题。如果这是一个问题,请考虑使用VARCHAR(21)

此外,MySQL只是理解FROM_UNIXTIME(1322485992.420381000)

-edit -

如果说“需要浮动”,为什么不使用float(result)