解决python中csv模块保存数据中文编码问题

使用Python将数据库查询结果保存至CSV文件

”’利用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’写入完毕’

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值