-1
У меня следующая проблема, что когда я пытаюсь выполнить этот код:Python оператора SQL для кодирования Postgres неудачи
try:
with open('moviedata.json') as data_file:
data = json.load(data_file)
for movie in data:
global year
global title
global info
global directors
global release
global rating
global genres
global img
global plot
global rank
global running_time
global actors
if 'year' in movie:
year = movie['year']
if 'title' in movie:
title = movie['title']
if 'info' in movie:
info = movie['info']
if 'directors' in movie['info']:
directors = [movie['info']['directors']]
if 'release_data' in movie:
release = movie['info']['release_date']
if 'rating' in movie['info']:
rating = movie['info']['rating']
if 'genres' in movie['info']:
genres = movie['info']['genres']
if 'image_url' in movie['info']:
img = movie['info']['image_url']
if 'plot' in movie['info']:
plot = movie['info']['plot']
if 'rank' in movie['info']:
rank = movie['info']['rank']
if 'running_time_secs' in movie['info']:
running_time = movie['info']['running_time_secs']
if 'actors' in movie['info']:
actors = movie['info']['actors']
sqlstatement = '''insert into directors(name)(select %(directors) where not exists(select 1 from directors where name = %(directors));'''
print sqlstatement
cur.execute(sqlstatement)
Файлов много JSon данных на более чем 4000 фильмов и некоторые включает в себя значение, может видеть в операторах if, а некоторые нет.
Переменная Director загружает некоторые данные типа string.
'sqlstatement' является кортежем. Это должна быть строка. – Kevin
Я вижу, вы можете привести пример того, как я его конвертирую? – McBoman
Удалить ', (директоров [0])' из конца строки. – Kevin