Нужна помощь в получении ответа API, преобразовании в Pandas Dataframe и загрузке в существующую таблицу SQLite - PullRequest
0 голосов
/ 29 апреля 2018

Последние несколько недель я учу себя Python и пытаюсь понять, как добиться следующего:

  1. Выполнить вызов API
  2. Возьмите ответ на вызов API и преобразуйте его в DataFrame.
  3. Возьмите DataFrame и загрузите в таблицу SQLite

У меня есть первые две части, но на третьей части я в тупике.

Вот что у меня есть для частей 1 и 2:

    import csv
    import pandas as pd
    import requests

    data_request=requests.get('https://api.blockcypher.com/v1/eth/main/txs')
    json=data_request.json()
    df=pd.DataFrame(json)

Это то, что я имею до сих пор для части 3:

    import sqlite3
    conn = sqlite3.connect('transactions.db')
    c = conn.cursor()

    c.execute("INSERT INTO transactions VALUES ('')")

    conn.commit()

    conn.close()

Я знаю, что то, что у меня есть для части 3, работает, потому что я помещаю примеры данных в предложение Insert, и оно работает просто отлично. Вопрос в том, как заставить этот фрагмент кода взять содержимое моего фрейма данных и загрузить его в мою таблицу SQLite?

1 Ответ

0 голосов
/ 29 апреля 2018

Вы можете использовать метод pandas DataFrames to_sql () . Ваш код будет выглядеть примерно так:

import csv
import pandas as pd
import requests
import sqlite3

data_request=requests.get('https://api.blockcypher.com/v1/eth/main/txs')
json=data_request.json()
df=pd.DataFrame(json)

conn = sqlite3.connect('transactions.db')

df.to_sql('transactions', conn)

conn.close()

Я не проверял, но он должен работать.

...