AttributeError: у объекта 'Timestamp' нет атрибута 'translate' - PullRequest
1 голос
/ 14 января 2020

Я пытаюсь вставить данные в формате DATE в базу данных с помощью SqlAlchemy, проблема в том, что когда я go проверяю базу данных, появляются только значения NULL.

Как вставить данные временной метки в MySQL db с помощью python / SqlAlchemy.

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, это работает. но мне нужно в формате ДАТА

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


metadata.create_all(engine)

1 Ответ

1 голос
/ 15 января 2020

Итак, я изменил тип данных в самой базе данных, и это сработало. Так что, похоже, это была проблема с упаковкой SqlAlchemy, не уверен.

Так что это не совсем ответ, но это то, что я получил, к сожалению, работал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...