实例:
>>> 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()