Строковые значения в SQLalchemy отображаются как NULL - PullRequest
0 голосов
/ 29 сентября 2018

Я пытаюсь вставить данные из CSV-файла в таблицу sqlalchemy - все типы данных, кроме строк, правильно вставлены в таблицу.

Пример данных CSV:

Version=1.1
636706156850400000,-1.54752188,53.79451,HUL4,3809,20,1014.63495,M
636706156850800000,-1.54752056,53.7945102,HUL4,3809,20,1014.53614,M
636706156851200000,-1.54751925,53.7945104,HUL4,3809,20,1014.43734,M

Соответствующий код Python:

class Gpxmm_Coverage(Base):
    __tablename__ = 'Gpxmm_Coverage'
    __table_args__ = {'sqlite_autoincrement': True}
    id = Column(Integer, primary_key=True, nullable=False) 
    gps = Column(Integer)
    x = Column(Float)
    y = Column(Float)
    elr = Column(String)
    trid = Column(Integer)
    m = Column(Integer)
    yards = Column(Float)
    type = Column(String)

Однако, при просмотре данных (с помощью браузера БД для SQLiteв Mac) столбцы elr и type отображаются как NULL.Все остальные столбцы имеют правильные типы значений.

1 Ответ

0 голосов
/ 29 сентября 2018
  1. Убедитесь, что elr и type равны str при загрузке их из CSV.
  2. В документации рекомендуется указывать аргумент length для типа String, например, Column (String).(64))

https://docs.sqlalchemy.org/en/latest/core/type_basics.html#sqlalchemy.types.String

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