it-roy-ru.com

Python - Как проанализировать и сохранить JSON в базе данных MYSQL

Как видно из заголовка, как использовать python для элегантного доступа к API, анализа и сохранения содержимого JSON в реляционной базе данных (MYSQL) для последующего доступа?

Здесь я сохранил данные в объект pandas. Но как мне создать базу данных mysql, сохранить на ней содержимое json и получить доступ к содержимому для дальнейшего использования?

# Libraries
import json, requests
import pandas as pd
from pandas.io.json import json_normalize

# Set URL
url = 'https://api-v2.themuse.com/jobs'

# For loop to
for i in range(100):
    data = json.loads(requests.get(
        url=url,
        params={'page': i}
    ).text)['results']

data_norm = pd.read_json(json.dumps(data))
4
user4679594

Вы создаете свою таблицу Mysql на своем сервере, используя что-то вроде Mysql Workbench CE . тогда в python вы делаете это. Я не был уверен, хотите ли вы использовать данные для for loop или data_norm, поэтому для простоты использования здесь некоторые функции. insertDb () может быть помещен в ваш цикл for, так как данные будут перезаписываться самостоятельно на каждой итерации.

import MySQLdb

def dbconnect():
    try:
        db = MySQLdb.connect(
            Host='localhost',
            user='root',
            passwd='password',
            db='nameofdb'
        )
    except Exception as e:
        sys.exit("Can't connect to database")
    return db

def insertDb():
    try:
        db = dbconnect()
        cursor = db.cursor()
        cursor.execute("""
        INSERT INTO nameoftable(nameofcolumn) \
        VALUES (%s) """, (data))
        cursor.close()
    except Exception as e:
        print e
0
Roy Holzem

Если это просто для хранения для последующей обработки, вроде кеша, достаточно поля varchar. Однако, если вам нужно получить некоторые структурированные jdata, вам нужно поле JSON. 

0
e4c5