基本上,我不需要做任何花哨的事情。我只是尝试远程连接到MySQL数据库,将其拉入pandas框架中,做一些工作,然后我想将其作为表输出,但这一次,到本地数据库,全部使用MySQL格式化并使用Python。我对SQLAlchemy的会话,引擎,连接等感到非常困惑,坦率地说,我不确定我是否真的需要任何深层次的功能。当我过去用R做这件事时,它只是一个简单的问题,显式地关闭旧连接,然后用一个新连接做同样的事情。
然而,据我所知,没有专门的方法来关闭我能够理解的连接(例如this link超出了我的理解范围)。
我真的只需要一个pandas.read_sql()命令来检索一个表,一个to.sql()命令来写这个表。
但这是一个单一的数据库。我在哪里放一些断开连接的语句?“引擎”可以同时运行吗?我应该使用游标,或执行,或某种其他类型的接口与SQL?
hostname = "remote.server.com"
username = "user"
password = "pass"
database = "mydb"
engine = create_engine("mysql+pymysql://{user}:{pw}@{host}/{db}".format(host=hostname, db=database, user=username, pw=password))
getcommand = "SELECT * FROM table"
df = pd.read_sql(getcommand, engine)
#work with the df
df.to_sql(name="dbname", con=engine, if_exists="replace", index=False)
字符串
1条答案
按热度按时间ddhy6vgd1#
我相信你需要在打开本地连接的同时打开远程连接,因为你可能在用pandas写作的同时还在阅读。
类似这样的东西应该可以工作。我认为把你的sql字符串也 Package 在
text
中可能会更好。字符串