postgres编码fai的Python sql语句

2024-06-16 11:40:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我在尝试执行此代码时遇到以下问题:

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)

这些文件包含4000多部电影中的大量json数据,其中一些包含您可以在if语句中看到的值,而另一些则没有

directors变量确实加载了一些字符串类型的数据


Tags: ininfodatareleaseifplottitlemovie
1条回答
网友
1楼 · 发布于 2024-06-16 11:40:06
sqlstatement = '''
    insert into directors (name)
    select %(director)s
    where not exists (
        select 1 
        from directors 
        where name = %(director)s
    );
'''
cur.execute(sqlstatement, {'director': directors[0]})

相关问题 更多 >