I am trying insert data in a DATE format at database using SqlAlchemy, the problem is when I go check the database, there are only NULL values.
How to Insert Timestamp data into MySQL db using python/SqlAlchemy.
AttributeError: 'Timestamp' object has no attribute 'translate'.
Data
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"]
my code:
# 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)
If I use String, it works. but I need in a DATE format
data = db.Table('Test', metadata,
db.Column('Rece_Year', db.String(100), nullable=True),
extend_existing=True
)
metadata.create_all(engine)
DataFrame.to_sql?SHOW CREATE TABLE Testso we can see your table schema. Also what is metadata? Please set up minimal reproducible example.