Я создаю небольшой API для взаимодействия с нашей базой данных для других проектов.Я построил базу данных и у меня API работает нормально, однако данные, которые я получаю, не структурированы так, как я хочу.
Я использую Python с Flask / Flask-Restful для API.Вот фрагмент моего Python, который обрабатывает взаимодействие:
class Address(Resource):
def get(self, store):
print('Received a request at ADDRESS for Store ' + store )
conn = sqlite3.connect('store-db.db')
cur = conn.cursor()
addresses = cur.execute('SELECT * FROM Sites WHERE StoreNumber like ' + store)
for adr in addresses:
return(adr, 200)
Если я сделаю запрос к конечной точке / sites / 42 , где 42 - этоидентификатор сайта, вот что я получу:
[
"42",
"5000 Robinson Centre Drive",
"",
"Pittsburgh",
"PA",
"15205",
"(412) 787-1330",
"(412) 249-9161",
"",
"Dick's Sporting Goods"
]
Вот как это структурировано в базе данных: 
В конечном итоге я бы хотелиспользовать имя столбца в качестве ключа в полученном JSON, но мне нужно немного указаний в правильном направлении, чтобы я не гуглял неоднозначные термины в надежде найти что-то.
Вот пример того, чтоЯ хотел бы получить после выполнения запроса к этой конечной точке:
{
"StoreNumber": "42",
"Street": "5000 Robinson Centre Drive",
"StreetSecondary": "",
"City": "Pittsburgh",
"State": "PA",
"ZipCode": "15205",
"ContactNumber": "(412) 787-1330",
"XO_TN": "(412) 249-9161",
"RelocationStatus": "",
"StoreType": "Dick's Sporting Goods"
}
Я просто хочу получить некоторые рекомендации о том, следует ли мне изменить структуру моих данных в базе данных (т.е. явидел, как некоторые просто помещают JSON в свою базу данных, но я думаю, что это грязно) или, если есть более интуитивный метод, который я мог бы использовать для управления своими данными.
Обновленный код с использованием принятого ответа
class Address(Resource):
def get(self, store):
print('Received a request at ADDRESS for Store ' + store )
conn = sqlite3.connect('store-db.db')
cur = conn.cursor()
addresses = cur.execute('SELECT * FROM Sites WHERE StoreNumber like ' + store)
for r in res:
column_names = ["StoreNumber", "Street", "StreetSecondary","City","State", "ZipCode", "ContactNumber", "XO_TN", "RelocationStatus", "StoreType"]
data = [r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]]
datadict = {column_names[itemindex]:item for itemindex, item in enumerate(data)}
return(datadict, 200)