擅长:python、mysql、java
<blockquote>
<p>How do I use pyodbc to print the whole query result including the columns to a csv file?</p>
</blockquote>
<p>不使用pyodbc“打印”任何内容,但可以使用<a href="https://docs.python.org/3/library/csv.html" rel="noreferrer">csv module</a>将pyodbc查询的结果转储到CSV。</p>
<p>作为一个简单的例子,这对我很有用:</p>
<pre class="lang-python prettyprint-override"><code>import csv
import pyodbc
conn = pyodbc.connect("DSN=myDb")
crsr = conn.cursor()
# test data
sql = """\
SELECT 1 AS id, 'John Glenn' AS astronaut
UNION ALL
SELECT 2 AS id, 'Edwin "Buzz" Aldrin' AS astronaut
"""
rows = crsr.execute(sql)
with open(r'C:\Users\gord\Desktop\astro.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow([x[0] for x in crsr.description]) # column headers
for row in rows:
writer.writerow(row)
</code></pre>
<p>生成包含</p>
<pre class="lang-none prettyprint-override"><code>id,astronaut
1,John Glenn
2,"Edwin ""Buzz"" Aldrin"
</code></pre>