实例:
>>> sql="select * from ab01 WHERE bab017 is null and aae053 is null" >>> curs.execute(sql)
>>> print(curs.rowcount) 0
>>> print(len(list(curs))) 53 >>> print(len(list(curs))) 0
>>> print(curs.rowcount) 53
>>> curs.fetchall() [] >>> print(len(list(curs))) 0 >>> print(curs.rowcount) 53
修改我的代码如下,解决问题:
cursor执行完毕使用set接手所有结果,然后使用set处理结果
curs=conn.cursor() dt=str(datetime.datetime.now()).replace(':','').replace('-','').replace(' ','')[0:6] csv_file_dest= fn #"test"+dt+".tsv" outputFile=open(csv_file_dest,'w', newline='',encoding='utf-8') output=csv.writer(outputFile,delimiter='\t',quotechar='"') #sql="select * from AC01_TB55" curs.execute(sql) rs=curs.fetchall() print(curs.rowcount) #print(len(list(curs))) if curs.rowcount>0: cols=[] for col in curs.description: cols.append(col[0]) output.writerow(cols) for row_data in rs: output.writerow(row_data) outputFile.close()
