AttributeError:“模块”对象没有属性“ mysql”

时间:2018-06-25 23:25:22

标签: mysql python-2.7 dialect

我正在尝试执行此代码,并且收到以下追溯错误。谁能帮我解决问题。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "loaders/buildingos_mysql.py", line 29, in <module>
    class TableLoader(object):
  File "loaders/buildingos_mysql.py", line 32, in TableLoader
    dialects.mysql.base.DOUBLE: lambda t: sqltypes.FLOAT(),
AttributeError: 'module' object has no attribute 'mysql'

以下是我尝试运行的代码部分:

from datetime import datetime
from StringIO import StringIO

import pandas as pd
from sqlalchemy import create_engine, Column, dialects, MetaData, Table
from sqlalchemy.sql import sqltypes


class Mysql(object):
    '''
    class to load MySQL into s3 and redshift_table
    '''
    TYPE_MAP = {
        dialects.mysql.base.DOUBLE: lambda t: sqltypes.FLOAT(),
        dialects.mysql.base.INTEGER: lambda t: sqltypes.NUMERIC(),
        dialects.mysql.base.TINYINT: lambda t: sqltypes.NUMERIC(),
        dialects.mysql.base.SMALLINT: lambda t: sqltypes.NUMERIC(),
        dialects.mysql.base.TIMESTAMP: lambda t: dialects.postgresql.base.TIMESTAMP(),
        dialects.mysql.base.DATETIME: lambda t: dialects.postgresql.base.TIMESTAMP(),
        dialects.mysql.base.LONGTEXT: lambda t: sqltypes.VARCHAR(length=65535),
        dialects.mysql.base.VARCHAR: lambda t: sqltypes.VARCHAR(length=max(16, t.length)), # Hack around err_code 1204.
        dialects.mysql.base.ENUM: lambda t: sqltypes.VARCHAR(),
        dialects.mysql.base.TEXT: lambda t: sqltypes.VARCHAR(length=65535),
        dialects.mysql.base.TIME: lambda t: sqltypes.VARCHAR(40),
        dialects.mysql.base.FLOAT: lambda t: sqltypes.FLOAT(),
        dialects.mysql.base.DECIMAL: lambda t: sqltypes.DECIMAL(),
        dialects.mysql.base.BIGINT: lambda t: sqltypes.VARCHAR(40), # Hack around pandas scientific notation for now.
        dialects.mysql.base.CHAR: lambda t: sqltypes.VARCHAR(),
        sqltypes.DATE: lambda t: sqltypes.DATE(),
        }

0 个答案:

没有答案