现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。
分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
Excel基础
同样,这里讲解的也是如何使用Python来操作excel数据。
workbook
工作薄的概念我们必须要明确,其是我们工作的基础。与下文的sheet相对应,workbook是sheet赖以生存的载体。
workbook = xlwt.Workbook()
sheet
我们所有的操作,都是在sheet上进行的。
sheet = workbook.add_sheet(‘table_message’,cell_overwrite_ok=True)
对于workbook 和sheet,如果对此有点模糊。不妨这样进行假设。
日常生活中记账的时候,我们都会有一个账本,这就是workbook。而我们记账则是记录在一张张的表格上面,这些表格就是我们看到的sheet。一个账本上可以有很多个表格,也可以只是一个表格。这样就很容易理解了吧。 😃
案例
下面看一个小案例。
*# coding:utf8*
import sys
reload(sys)
sys.setdefaultencoding('utf8')
*# \_\_author\_\_ = '郭 璞'*
*# \_\_date\_\_ = '2016/8/20'*
*# \_\_Desc\_\_ = 从数据库中导出数据到excel数据表中*
import xlwt
import MySQLdb
conn = MySQLdb.connect('localhost','root','mysql','test',charset='utf8')
cursor = conn.cursor()
count = cursor.execute('select \* from message')
print count
*# 重置游标的位置*
cursor.scroll(0,mode='absolute')
*# 搜取所有结果*
results = cursor.fetchall()
*# 获取MYSQL里面的数据字段名称*
fields = cursor.description
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('table\_message',cell_overwrite_ok=True)
*# 写上字段信息*
for field in range(0,len(fields)):
sheet.write(0,field,fields[field][0])
*# 获取并写入数据段信息*
row = 1
col = 0
for row in range(1,len(results)+1):
for col in range(0,len(fields)):
sheet.write(row,col,u'%s'%results[row-1][col])
workbook.save(r'./readout.xlsx')
封装
为了使用上的方便,现将其封装成一个容易调用的函数。
封装之后
*# coding:utf8*
import sys
reload(sys)
sys.setdefaultencoding('utf8')
*# \_\_author\_\_ = '郭 璞'*
*# \_\_date\_\_ = '2016/8/20'*
*# \_\_Desc\_\_ = 从数据库中导出数据到excel数据表中*
import xlwt
import MySQLdb
def export(host,user,password,dbname,table\_name,outputpath):
conn = MySQLdb.connect(host,user,password,dbname,charset='utf8')
cursor = conn.cursor()
count = cursor.execute('select \* from '+table_name)
print count
*# 重置游标的位置*
cursor.scroll(0,mode='absolute')
*# 搜取所有结果*
results = cursor.fetchall()
*# 获取MYSQL里面的数据字段名称*
fields = cursor.description
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('table\_'+table_name,cell_overwrite_ok=True)
*# 写上字段信息*
for field in range(0,len(fields)):
sheet.write(0,field,fields[field][0])
*# 获取并写入数据段信息*
row = 1
col = 0
for row in range(1,len(results)+1):
for col in range(0,len(fields)):
sheet.write(row,col,u'%s'%results[row-1][col])
workbook.save(outputpath)
*# 结果测试*
if __name__ == "\_\_main\_\_":
export('localhost','root','mysql','test','datetest',r'datetest.xlsx')
测试结果
id name date
1 dlut 2016-07-06
2 清华大学 2016-07-03
3 北京大学 2016-07-28
4 Mark 2016-08-20
5 Tom 2016-08-19
6 Jane 2016-08-21
总结
回顾一下,本次试验用到了哪些知识点。
1、Python简易操作数据库
2、Python简易操作Excel
3、数据库取出数据乱码问题解决之添加charset=utf-8
4、以二维数组的角度来处理获取到的结果集。
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!