Python实现数据库一键导出为Excel表格!大大的增加了工作效率!_python 数据库中查出来的数据导出到excel(2)

现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到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行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 是一种易学易用的编程语言,它在数据分析领域广泛应用。很多时候,我们需要将分析结果导出Excel,以便更好地与其他人共享或用于其他目的。Python 有很多库可以将数据导出Excel,如 Pandas、Openpyxl、Xlsxwriter 等。 其,Pandas 库是 Python 数据分析的重要工具之一。它不仅可以对数据进行清洗和分析,还可以将结果导出Excel。使用 Pandas 导出数据Excel 的过程非常简单,只需用到 Pandas 库的 to_excel() 函数即可。 首先,我们需要将数据保存为 Pandas 的 DataFrame 类型。例如: import pandas as pd data = {'姓名': ['张三', '李四', '王五'], '年龄': [18, 20, 22], '成绩': [85, 90, 95]} df = pd.DataFrame(data) 接着,我们可以使用 to_excel() 函数将 DataFrame 数据导出Excel。例如: df.to_excel('result.xlsx', index = False) 在这个例子,我们将 DataFrame 数据导出为一个名为 'result.xlsx' 的 Excel 文件,同时设置参数 index = False 来避免导出 Excel 文件的行索引。 除了 Pandas,其他库也可以实现数据导出Excel。例如,Openpyxl 是一个用于操作 Excel 文件的库,可以实现数据导出Excel,同时还支持更多的 Excel 操作,如修改单元格颜色、添加图表等。使用 Openpyxl 将数据导出Excel 的过程与 Pandas 类似,不过需要先创建 Workbook 对象,然后在其创建 Sheet,最后导出数据。例如: from openpyxl import Workbook wb = Workbook() ws = wb.active for r in dataframe_to_rows(df, index = False, header = True): ws.append(r) wb.save('result.xlsx') 在这个例子,我们先创建了一个 Workbook 对象,然后通过 active() 方法获取当前活动 Sheet,再利用 dataframe_to_rows() 函数将 DataFrame 数据转换为二维数组,然后通过 for 循环将数据逐行添加到 Sheet ,最后保存 Excel 文件。这样可以更加灵活地控制 Excel 文件的样式和格式。 总之,Python 有很多库可以将数据导出Excel,我们可以根据具体需求选择合适的库进行操作。通过合理的使用这些库,我们可以更加方便地利用 Python 进行数据分析和处理,提升工作效率

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值