Как импортировать данные из API на сервер MySQL с помощью Python - PullRequest
0 голосов
/ 10 июля 2020

Я новичок в SQL и Python, так что терпите меня! Я пытаюсь импортировать файл json из API на сервер MySQL, сначала создав таблицу на Python. Вот что я пробовал:

import mysql.connector
import json

db = mysql.connector.connect(host = 'localhost',
                       user = 'root',
                       passwd = 'password',
                       db = 'database')
cur = db.cursor()

with open ('C:/Users.../file.json') as json_file:
    data = json.load(json_file)
    for p in data['timeseries']:
        print('timestamp:'+ ['timestamp'])
        print('pct_diff:' + ['pct_diff'])
        print('')
        
        
        cursor.execute(
            """
            CREATE TABLE 'covid_traffic_LA'.'belair' 
            ('timestamp' VARCHAR(30) NULL, 'pct_diff' DOUBLE NULL)
            """
        )

with open('data.txt') as json_file:
    data = json.load(json_file)
    for p in data['people']:
        print('Name: ' + p['name'])
        print('Website: ' + p['website'])
        print('From: ' + p['from'])
        print('')

db.close()

Когда я запускаю это, моя первая ошибка возникает, когда в строке 6 указано db = 'database'. Я удостоверился, что установил правильную базу данных, которую назначил на * 1018. * workbench, но Python выдает NotSupportedError:

NotSupportedError                     Traceback (most recent call last)
<ipython-input-48-454293f91f8b> in <module>
      5                        user = 'root',
      6                        passwd = 'password',
----> 7                        db = 'database')
      8 cur = db.cursor()
      9 

NotSupportedError: Authentication plugin 'caching_sha2_password' is not supported

Я также не знаю, как написать цикл for; Я хочу получить метку времени и pct_diff из API (ie. https://adms.usc.edu/api/insights/coronavirus/alhambra).

Любая помощь будет принята с благодарностью!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...