我最终希望构建一个脚本 - 1. 将我登录到我的红移群集 - 2. 运行DROP TABLE IF EXISTS语句 - 3. 重新创建表 - 4. 将数据框对象中的数据插入表中
我可以用两个脚本来完成它——一个完成步骤1-3,然后是一个完成步骤4的2d脚本。我想知道这是否可以在一个脚本中完成。在下面的脚本中,我尝试使用两个游标来完成这一事实——但没有运气
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新手,希望在这里得到更多指导
你试过炼金术吗
或者亚马逊红移方言的SQLAlchemy在您的情况下
在此之前,您可能需要安装pip install sqlalchemy-redshift
如何安装软件包-&燃气轮机Here
此外,您还可以探索更多here
相关问题 更多 >
编程相关推荐