這是一個簡單的問題,我一直無法找到答案。我有一個帶有兩個命令的.SQL文件。我想讓Pandas將這些命令的結果放入DataFrame中。將外部SQL文件讀入熊貓數據框
SQL文件的命令就像這樣,使用當前日期的較長查詢。
SET @todaydate = DATE(NOW());
SELECT ...long query....;
我已經嘗試使用read_sql建立我的連接(prod_db)之後通過以下方式和收到錯誤信息「」 NoneType「對象不是可迭代」
sqlpath = 'path.sql'
scriptFile = open(sqlpath,'r')
script = scriptFile.read()
df = pd.read_sql(script,prod_db)
我也試圖使用這裏描述reading external sql script in python函數和方法,但我不知道如何獲得結果到一個熊貓數據框(或者我錯過了一些東西)。它似乎沒有讀取結果,因爲我反覆收到「命令跳過」。
def executeScriptsFromFile(filename):
fd = open(filename, 'r')
sqlFile = fd.read()
fd.close()
# all SQL commands (split on ';')
sqlCommands = sqlFile.split(';')
# Execute every command from the input file
for command in sqlCommands:
try:
c.execute(command)
except OperationalError, msg:
print "Command skipped: ", msg
df = executescriptsfromfile(sqlpath)