使用案例 我们有嵌套查询,我们的表有1000万到2000万行。这里我们的目的是通过智能过滤器减少查询CPU时间
我想通过其他数据框列名过滤pd.read_sql中的列。这可能吗?
步骤1:df1数据框age1和age3是我未来的pd.read_sql过滤列
raw_data1 = {'age1': [23,45,21],'age2': [10,20,50], 'age3':['forty','fortyone','fortyfour']}
df1 = pd.DataFrame(raw_data1, columns = ['age1','age2','age3'])
df1
Step2:我喜欢从df1数据帧中获取age1想要在下面的pd.read_sql中使用,以获取item1数据帧
item1 = pd.read_sql("""
SELECT * from [dbo].[ITEM]
where item_age1 = df1.age1
""", conn)
Step3:我喜欢从df1数据帧中取出age3想要在下面的pd.read_sql中使用,以获取item2数据帧
item2 = pd.read_sql("""
SELECT * from [dbo].[ITEM]
where item_age3 = df1.age3
""", conn)
答案 0 :(得分:0)
使用参数化查询:
'%s'
取决于数据库后端,此语法可能使用%(name)s
或'?'
而不是paramstyle
。有关详细信息,请参阅PEP249 06-06 23:50:28.340 27670-27706/mys.timer E/AndroidRuntime: FATAL EXCEPTION: Timer-0
Process: mys.timer, PID: 27660
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
。