Кто может мне помочь?PANDAS и MySql - PullRequest
0 голосов
/ 22 ноября 2018

Мне нужна помощь.Я начинаю программировать на python.

Мой код:

import redis
import json
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import time
import mysql.connector

mydb = mysql.connector.connect(
  host="XXXXXXXXXXXXXXXX",
  user="XXXXXXXXXXX",
  passwd="XXXXXXX"
)
df = pd.read_sql("SELECT * FROM XXXXXXXXXXXXXX;", mydb) 
df['AskTop'] = 2
df['BidTop'] = 2
df['Price'] = 2 
df['EMA_Corta'] = 2
df['EMA_Larga'] = 2
df['Señal'] = 2
df['positions'] = 2
df['Señal_Trading'] = 2
df['Precio_transaccion'] = 2
df['Posicion'] = "BUY"
df['Log_Ret'] = 2
df.to_sql(name = 'PEPEPEPEPEPE', con = mydb)
print (df)

Я должен сохранить эти данные в своей базе данных, но я получаю следующую ошибку

«Не все параметры были использованы в операторе SQL») pandas.io.sql.DatabaseError: Ошибка выполнения на sql 'ВЫБРАТЬ имя ИЗ sqlite_master WHERE type =' table 'AND name = ?;': Не все параметры использовались вОператор SQL

1 Ответ

0 голосов
/ 23 ноября 2018

Вы должны указать значение, используя df.loc[row,col].

con: sqlalchemy.engine.Engine или sqlite3.Connection doc # Вы получили ошибку из-за неправильного типа подключения

import pandas as pd
from sqlalchemy import create_engine

mydb = create_engine("mysql://xx:xx@localhost/xxxx")

df = pd.read_sql("SELECT * FROM test;",con = mydb) 

df.loc[0,'posicion'] = "buy"

print(df) #If empty means you will insert nothing

df.to_sql(name = "test", con = mydb, index=False, if_exists='append')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...