本地CSV作为SQL where的条件,用于Python中的Network Netezza DB

时间:2016-09-06 17:07:48

标签: python csv netezza

在Python中,我使用SQL查询Netezza数据库,对于Netezza表中的一个变量,我想从内部连接到外部CSV文件中的同一变量。这可能吗?

这是我的Python代码的示例shell,使用pandas read_sql module

*conn_nz = od.connect("DRIVER={NetezzaSQL};...")

q_test = ''' 
SELECT 
    A.var1,
    A.var2
FROM 
    Netezza.tableA A
WHERE 
   (A.var1 = csv.var1)

; '''
op_data = pd.read_sql(q_test, conn_nz)  
op_data*

这可能吗?我对SQL和Python都很陌生。

1 个答案:

答案 0 :(得分:0)

由于它是CSV,因此您最好的选择是在Netezza中创建external table并加入其中。

create external table some_csv (
  column1 varchar(10)
  ,column2 varchar(20)
  ..
) using (
  dataobject '/path/to/file'
  delimiter ','
);

然后你可以直接从数据库内加入它。

select
  var1
  ,var2
from
  tableA
  join some_csv csv using (some_join_column)