csv
에 큰 테이블을 쓰려고하는데 pyodbc
을 사용하여 fetchmany()
을 사용하고 있습니다. 올바르게 연결할 수 있지만 기록되는 유일한 레코드는 헤더입니다. db 커서를 루프하는 올바른 방법은 무엇입니까?PYODBC Fetchmany to csv only header
cxn = pyodbc.connect(cxn data)
mssql_cursor = cxn.cursor()
mssql_cursor.execute(sql_query)
c = csv.writer(open('file.csv', 'w', encoding ='UTF-8', newline='\n'), delimiter='|')
c.writerow([i[0] for i in mssql_cursor.description])
results = mssql_cursor.fetchmany(10000)
while results:
c.writerows(results)
results = mssql_cursor.fetchmany(10000)
mssql_cursor.close()
cxn.close()
편집 : 그것은 fetchmany
방법을 통해 반환되는 것이없는 것으로 보인다. 나는 print(len(results))
을 추가하고, 결과는 0
하는'에서 c.writerows (목록 (결과를))'시도하는 동안 루프 –
@MoinuddinQuadri 같은 결과 – mikebmassey
당신 여전히 페치 된 객체를 반복해야 할 수도 있습니다. – Parfait