运行 SQL 从 Txt 文件查询 Python

Run SQL Query from Txt File Python

你好,我正在尝试从文本文件加载一个巨大的查询(5000 多行)并使用下面的代码一次执行整个查询。如何从 txt 文件加载我的查询并使用 python pandas

执行它

我使用下面的代码打开了我的文本文件

query1 = open("Script.txt","r")

并尝试使用以下代码执行脚本。

df_ora1 = pd.read_sql(query1, con=connection1)

我收到以下错误

DatabaseError:sql'<_io.TextIOWrapper 上执行失败需要字符串或字节对象

我的文本文件有 """ 开始查询

结束查询 """

  1. 对于独立 - 我创建 sql,然后将其写入文件
  2. 您的解决方案 - 从文件中读取 sql。连同连接
  3. 一起传递给read_sql()
temptable = "tempx"
sql = f"""select Year, count(*) as c 
                        from {temptable} 
                        where Month=1 
                        and Sharpe between 1 and 2 
                        and stock like '%%2%%'
                        group by Year"""
with open("script.sql","w") as f: f.write(sql)
# read sql script from file.  pass it to pandas with connection
with open("script.sql") as f: sql = f.read()
engine = sqlalchemy.create_engine('mysql+pymysql://sniffer:sniffer@127.0.0.1/sniffer')
conn = engine.connect()
print(pd.read_sql(sql, conn).to_string(index=False))

输出

 Year    c
 2018  930
 2019  932
 2020  958