Perl到Python和cx_Oracle,fetchrow_array

时间:2012-12-06 19:32:19

标签: python oracle perl cx-oracle

使用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 ;
}

1 个答案:

答案 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。