使用Python连接到Oracle时,是否存在与perl fetchrow_array等效的内容?
我本质上是尝试将以下perl代码转换为python以便与cx_Oracle一起使用...我需要创建键控字典来代替哈希,我猜测(我根本不知道perl),但首先我想把返回数组形式,以便我可以连接列。
# read the data and place into a species hash (sphash) and a data hash (tmphash)
my (@lnarr, %sphash, %tmphash, $tmpln, $tmpsel, $x, $datetime) ;
while (@lnarr = $csr->fetchrow_array) {
# $line =~ s/\s//g ; #remove spaces and newline character
# @lnarr = split /,/, $line ;
$datetime = $lnarr[4].'-'.$lnarr[5] ;
$tmpln = join '_', $lnarr[8], $lnarr[9] ;
$sphash{$lnarr[7]} = 'x';
$tmphash{$lnarr[0].'_'.$lnarr[1].'_'.$lnarr[2].'_'.$lnarr[3].'_'.$datetime.'_'.$lnarr[6]}{$lnarr[7]} .= $tmpln ;
}
答案 0 :(得分:3)
cx_Oracle符合Python DB API 2.0。因此,它必须支持cursor.fetchone()
,这应该与Perl's fetchrow_array()
完全等效。
换句话说:cx_Oracle只是数据库驱动程序,与之交互的API是Python DB API。
http://www.orafaq.com/wiki/Python应该让你开始使用cx_Oracle。