[英]Python SQL Query Execution
我嘗試運行 SQL 查詢以在表和添加列之間執行查找並更新 SQL 中新表中的結果,然后在 Pandas 數據框中傳遞新表。
但是當我執行時,我收到以下錯誤:
”
File "C:\Users\Sundar_ars\Desktop\Code\SQL_DB_Extract_1.py", line 27, in <module>
df1 = pd.read_sql(Sql_Query,conn)
File "C:\Users\Sundar_ars\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\sql.py", line 602, in read_sql
return pandas_sql.read_query(
File "C:\Users\Sundar_ars\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\sql.py", line 2117, in read_query
columns = [col_desc[0] for col_desc in cursor.description]
TypeError: 'NoneType' object is not iterable"
下面是代碼:
import pypyodbc
import pandas as pd
SERVER_NAME ='DESKTOP-LBM9IMO\SQLEXPRESS'
DATABASE_NAME='721991dc-b510-40b2-ac5b-4d005a3cfd14'
conn = pypyodbc.connect("""
Driver={{SQL Server Native Client 11.0}};
Server={0};
Database={1};
Trusted_Connection=yes;""".format(SERVER_NAME, DATABASE_NAME)
)
Sql_Query = """
SELECT [EventFrequency].[ResultID]
,[EventFrequency].[EventFrequency]
,[EventFrequency].[ImmediateIgnitionFrequency]
,[EventFrequency].[DelayedIgnitionFrequency]
,[Result].[OnshoreCaseID]
INTO [%s].[SafetiRisk].[UpdatedEventFreq]
FROM [%s].[SafetiRisk].[EventFrequency]
LEFT OUTER JOIN [%s].[SafetiRisk].[Result]
ON [EventFrequency].[ResultID] = [Result].[ResultID]
""" %(DATABASE_NAME, DATABASE_NAME, DATABASE_NAME)
df1 = pd.read_sql(Sql_Query,conn)
print(df1)
任何人都可以指導我我做錯了什么。 謝謝
read_sql()
假設您的查詢返回行 - 但您的 SQL 查詢修改行(不返回任何行)。
如果要獲取[SafetiRisk].[UpdatedEventFreq]
,則應在執行第一個查詢后對該表執行read_sql('SELECT ... ', ...)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.