Загрузка целого числа в PostgreSQL с помощью SQLalchemy - ошибка Неверный синтаксис ввода для целого числа - PullRequest
0 голосов
/ 17 января 2019

У меня есть следующий код для загрузки файла CSV в базу данных PostgreSQL. Работает нормально вот так:

def Load_Data(file_name):
    data = genfromtxt(file_name, delimiter=',', skip_header=1, dtype=[('curr', numpy.unicode_, 10),
                                                                      ('code', numpy.unicode_, 10),
                                                                      ('exp', numpy.unicode_, 10),
                                                                      ('cryp', numpy.unicode_, 10)])

    return data.tolist()


Base = declarative_base()


class CurrencyDetails(Base):

    __tablename__ = 'curr_det'
    curr = Column(VARCHAR(10), primary_key=True)
    code = Column(VARCHAR(10))
    exp = Column(VARCHAR(10))
    cryp = Column(VARCHAR(10), nullable=False)

Однако столбец exp является типом Integer, и я бы предпочел создать столбец таблицы exp с целочисленным типом. Я пытался использовать

exp = Column(Integer)

Но тогда я получаю ошибку

DataError ('(psycopg2.DataError) неверный синтаксис ввода для целого числа

Исходный CSV-файл имеет несколько пустых значений '', я полагаю, что это проблема. Можно ли загрузить как-нибудь как целое число без изменения файла?

Большое спасибо за помощь!

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