[英]Import ms sql database data in excel file using python
我正在尝试使用python将Excel文件中的ms sql数据库数据导入。 我不是在Excel工作表中按正确顺序获取数据。 例如,它显示的是第1列数据,然后是第3列,然后是第2列,然后是第4列,依此类推。 我正在使用以下脚本:
import pyodbc
import csv
connection = pyodbc.connect("Driver={SQL Server Native Client 11.0};"
"Server=MS-DC-06,49208;"
"Database=****;"
"uid=**;pwd=***")
cursor = connection.cursor()
cursor.execute("select top 10 * from Api_NotificationEntry")
data=cursor.fetchall()
for col in data:
with open('dataTester.csv', 'a', newline='') as fp:
a= csv.writer(fp, delimiter=',')
a.writerow({col[0],col[1]})
cursor.close()
connection.close()
它应该显示如下数据:
10 2689
11 2689
12 2689
13 2689
14 2689
15 2689
16 2689
8 2673
17 2689
19 3083
但是它在excel表中显示如下:
Col1 Col2
65509
10
2689
65509
10
2689
65509
2689 10
2689 65509
6218 65509
2689 10
2689 65509
6218 65509
2689 10
2689 11
2689 12
2689 13
2689 14
2689 15
16 2689
8 2673
17 2689
3083 19
从数据库中获取数据后,我正在使用python脚本过滤它们,
a.writerow({col[0],col[1]})
这没有按正确的顺序在csv文件中写入数据,因此解决方案是使用sql查询从数据库中获取经过过滤的数据,而不是在python脚本中进行过滤。 这样就解决了问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.