本地 CSV 作为 Python 中针对 Network Netezza DB 的 SQL where 子句的条件
Posted
技术标签:
【中文标题】本地 CSV 作为 Python 中针对 Network Netezza DB 的 SQL where 子句的条件【英文标题】:Local CSV as criteria for SQL where clause against Network Netezza DB in Python 【发布时间】:2016-09-06 17:07:48 【问题描述】:在 Python 中,我使用 SQL 查询 Netezza 数据库,对于 Netezza 表中的变量之一,我想从该变量到外部 CSV 文件中的同一变量进行内部联接。这可能吗?
这是我的 Python 代码的示例 shell,使用 pandas read_sql
模块
*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】:由于它是 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)
【讨论】:
以上是关于本地 CSV 作为 Python 中针对 Network Netezza DB 的 SQL where 子句的条件的主要内容,如果未能解决你的问题,请参考以下文章
如何在熊猫中使用 read_csv 将时区感知日期时间作为时区天真的本地 DatetimeIndex 读取?
Python pyspark 将 DF 写入 .csv 并存储在本地 C 盘