В конечном итоге я хотел бы создать сценарий, который: 1. регистрирует меня в моем кластере красных смещений - 2. запускает инструкцию DROP TABLE IF EXISTS - 3. заново создает таблицу - 4. вставляет данные из объекта Pandas DataFrame в таблица
Я могу сделать это в 2 сценариях - один, который выполняет шаги 1-3, а затем 2d, который выполняет шаг 4. Мне было интересно, можно ли это сделать в одном сценарии. В следующем сценарии я пытаюсь использовать 2 курсора для выполнения sh этого факта - но безуспешно.
import pyodbc
import getpass
import pandas as pd
server = server name
database = db
user = getpass.getuser()
pwd = getpass.getpass("User Name : %s" % user)
port = port
df = pd.read_csv("file.csv")
cnxn = pyodbc.connect('DRIVER={Amazon Redshift (x64)};SERVER='+server+';DATABASE='+database+';UID='+user+';PWD='+pwd+';Port='+port+'')
cursor1 = cnxn.cursor()
cursor1.execute("DROP TABLE IF EXISTS billtest2; CREATE TABLE billtest2 (symbols varchar(15), leverages int);")
cursor2 = cnxn.cursor()
# Insert DataFrame recrds one by one.
for index, row in df.iterrows():
cursor2.execute("INSERT INTO billtest2 ([symbols],[leverages]) values(?,?)", row['symbols'], row['leverages'])
cnxn.commit()
cnxn.close()
Я анонимизировал соединения, но соединение работает - это просто тот факт, что я хочу создать и вставить таблицу, которая, по-видимому, не работает.
Я новичок в Python и буду признателен за любые дальнейшие указания здесь