Как сделать запрос в file.json при помощи SQLAlchemy?

Рейтинг: 0Ответов: 1Опубликовано: 29.03.2015

Как сделать запрос в file.json при помощи SQLAlchemy на Flask-e?

Структура json:

{
   "data": [
      {
         "Значение": "288.00", 
         "Область": "Область какая то", 
         "Город": "Город какой то"
      }, 
...
], 
   "structure": [
      "Область", 
      "Город", 
      "Значение"
   ]
}

Например:

session.query(Название таблицы(data)).filter(значение = self.значение.data).all()

Может, так как-то?

Ответы

▲ 1

Никак. SQLAlchemy в качестве бэкенда использует реляционные базы данных, к коим JSON ну никак не относится.

Наиболее близкое к тому, что вам нужно, можно попробовать найти гугля "JSON query language". Например для Python (раз уж используете SQLAlchemy) есть такое: https://pypi.python.org/pypi/objectpath/.


По поводу ручного добавления данных из JSON в базу данных вот вам наметка кода, более подробно я, увы, делать не буду, читайте дальше документацию.

# Модель данных.
class CityData(Base):
    __tablename__ = 'citydata'

    id = Column(Integer, primary_key=True)
    region = Column(String)
    city = Column(String)
    value = Column(Float)

...

# Читаем JSON-файл.
data = json.load(open('data.json'))

# Проходим по данным и добавляем их в базу.
for city in data['data']:
    cd = CityData(city['Область'], city['Город'], city['Значение'])
    session.add(cd)
session.commit()