我正在尝试使用SqlAlchemy在数据库中以DATE格式插入数据,问题是当我去检查数据库时,只有NULL值。

如何使用python / SqlAlchemy将时间戳数据插入MySQL数据库。

AttributeError:“ Timestamp”对象没有属性“ translate”。

数据


import numpy as np
import pandas as pd

import sqlalchemy as db
from sqlalchemy import create_engine
import pymysql
import MySQLdb

import json
import datetime
import time


# dataframe
df = pd.DataFrame({ "year" : [ "2017/10/10", "2018/10/10", "2019/10/10"]




我的代码:

# transforming to datetime
df.year = pd.to_datetime(df.year)

out[]:
year   datetime64[ns]



#adding in list of dict to be able to insert at db

values_list2 = []
for i in range(len(df)):
    values_list2.append({ "Rece_Year": df["year"][i] })



# create table in db with Datetime column format

data = db.Table('Test', metadata,
              db.Column('Rece_Year',  db.DateTime(), default=True),
              extend_existing=True
              )


metadata.create_all(engine)

#Insert data
query = db.insert(data)




如果我使用String,它可以工作。但我需要DATE格式

data = db.Table('Test', metadata,
              db.Column('Rece_Year',  db.String(100), nullable=True),
              extend_existing=True
              )


metadata.create_all(engine)

最佳答案

因此,我更改了数据库本身的数据类型,并且它起作用了。因此,不确定这与SqlAlchemy打包有关。

因此,这并不是一个真正的答案,但是不幸的是,这就是我要做的。

关于python - AttributeError:“Timestamp”对象没有属性“translate”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59725902/

10-11 22:04