”’利用python的csv模块将数据库查询到的结果保存到csv文件中
MySQLdb模块
csv模块
”’
-- coding:utf-8 --
import MySQLdb
import csv
import codecs
打开数据库
db = MySQLdb.connect(host=’localhost’,user=’root’,passwd=’19940405’,db=’S_T’,charset=’utf8’)
使用cursor()获取数据库游标
cursor = db.cursor()
创建sql语句
sql = ”’
SELECT *
FROM Student
”’
cursor.execute(sql)
content = cursor.fetchall()
data = []
temp = []
for line in content:
for i in line:
temp.append(i)
for con in range(0,len(temp),5):
t = (temp[con].encode(‘gbk’),temp[con+1].encode(‘gbk’),temp[con+2].encode(‘gbk’),temp[con+3],temp[con+4].encode(‘gbk’))
data.append (t)
令人无解的编码问题困扰了我半天,对中文真心不友好
with open(‘csv_datavase4.csv’,’wb’) as csvfile:
writer = csv.writer(csvfile)
#writer.writerow([‘学号’,’姓名’,’性别’,’年龄’,’专业’])
add = [u’学号’.encode(‘gbk’),u’姓名’.encode(‘gbk’),u’性别’.encode(‘gbk’),u’年龄’.encode(‘gbk’),u’专业’.encode(‘gbk’)]
#这里也是一样,单独写入到没这么麻烦,与注释部分一样
writer.writerow(add)
writer.writerows(data)
print u’写入完毕’