繁体   English   中英

如何在sqlite3中添加熊猫时间戳?

[英]how to add pandas Timestamp to sqlite3?

我通过Django将DateTimeField定义为:

class test(models.Model):
     t = models.DateTimeField()

在熊猫中,我有一个数据框

a=DataFrame(date_range('2014-1-1','2014-1-2'))
type(a.ix[0,0])

其中显示:pandas.tslib.Timestamp

当我尝试通过以下方式插入数据时:

stmt="insert into dry_powder_test('t')  values(?)"
cnx = sqlite3.connect(db_path)
cnx.executemany(stmt, a.to_records(index=False).tolist())
cnx.commit()

没有错误。

 test.objects.get(pk=1).t 

给我空洞的结果。 虽然在数据库中我实际上看到了

(u'project_test', 't', 1388534400000000000L)

我应该如何正确地做到这一点?

django模型具有一个字段t,其类型为django.model.DateTimeField,并将您保存到数据库pandas.data_range,该数据库从1970年隐式转换为毫秒。

  1. 为什么在没有Python基础知识的情况下混合使用Django和Pandas?
  2. 为什么您的班级名称不以大写字母开头?
  3. 为什么要编写原始sql而不是使用Django模型?

---编辑---再见

我已经解决了你的问题。 我已经使用Django orm创建有效的模型,所以:

[1]: a1 = test()

[2]: a1.t

[3]: a1.t = datetime.datetime(2012, 2, 26, 13, 0, 0, 775217)

然后我检查了数据库:

$./manage.py dbshell
sqlite> select * from polls_test;
1|1388534400000000000
2|1388620800000000000
3|2012-02-26 13:00:00.775217

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM