我正在尝试使用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/