(整理)python操作excel.教学提纲.doc

(整理)python操作excel.教学提纲.doc

ID:61931754

大小:28.50 KB

页数:11页

时间:2021-03-31

(整理)python操作excel.教学提纲.doc_第1页
(整理)python操作excel.教学提纲.doc_第2页
(整理)python操作excel.教学提纲.doc_第3页
(整理)python操作excel.教学提纲.doc_第4页
(整理)python操作excel.教学提纲.doc_第5页
资源描述:

《(整理)python操作excel.教学提纲.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、__________________________________________________Youarehere:»»»Python操作Excel老婆单位有时候有一些很大的Excel统计报表需要处理,其中最恶心的是跨表的JOIN查询。他们通常采取的做法是,把多个Excel工作簿合成一个工作簿的多个表格,然后再跑函数(VLOOKUP之类)去查。因为用的函数效率很低,在CPU打满的情况下还要跑几个小时。然后我就看不过去了,我也不懂Excel,不知道如何优化,但我想用Python+SQLite总归

2、是能够实现的。于是就尝试了一把,效果还不错,一分钟以内完成统计很轻松,其中大部分时间主要花在读Excel内容上。1.Python操作Excel的函数库我主要尝试了3种读写Excel的方法:1>:这三个库的好处是不需要其它支持,在任何操作系统上都可以使用。xlrd可以读取.xls,.xlsx文件,非常好用;但因为xlwt不能直接修改Excel文档,必须得复制一份然后另存为其它文件,而且据说写复杂格式的Excel文件会出现问题,所以我没有选它来写Excel文件。_____________________

3、_______________________________________________________________________________2>:这个库也是不需要其它支持的,而且据说对Office2007格式支持得更好。遗憾地是,我经过测试,发现它加载Excel文件的效率比xlrd慢3倍以上,内存使用在10倍以上,于是就放弃了。3>:PythonWin32扩展,这个库需要运行环境为Windows+Office对应版本。由于PythonWin32扩展只是把COM接口包装了一下,可以视

4、为与VBA完全相同,不会有读写格式上的问题。尝试了一下用win32com读取Excel文件,效率还是比xlrd慢一些。由于读取效率上xlrd>win32com>openpyxl,所以我自然选择了xlrd用来读取统计报表;而最终输出的报表格式较复杂,所以选择了win32com直接操作Excel文件。2.Python里的关系型数据库是一个非常轻量级的关系型数据库,很多语言和平台都内置SQLite支持,也是iOS和Android上的默认数据库。Python的标准库里也包含了库,用起来非常方便。3.用xlr

5、d读取Excel并插入数据库样例____________________________________________________________________________________________________如果数据量不大,直接用Python内部数据结构如dict,list就够了。但如果读取的几张表数据量都较大,增加个将数据插入数据库的预处理过程就有很大好处。一是避免每次调试都要进行耗时较长的Excel文件载入过程;二是能充分利用数据库的索引和SQL语句强大功能进行快速数据分

6、析。#!/usr/bin/python #-*-coding:gbk-*-importxlrd importsqlite3#打开数据库文件 device_city_db=sqlite3.connect('device_city.db') cursor=device_city_db.cursor()#建表 cursor.execute('DROPTABLEIFEXISTSdevice_city') cursor.execute('CREATETABLEdevice_city(device_idchar

7、(16)PRIMARYKEY,cityvarchar(16))'____________________________________________________________________________________________________)   #打开device相关输入Excel文件 device_workbook=xlrd.open_workbook('输入.xlsx') device_sheet=device_workbook.sheet_by_name('设备表')

8、#逐行读取device-城市映射文件,并将指定的列插入数据库 forrowinrange(1,device_sheet.nrows):   device_id=device_sheet.cell(row,6).value   iflen(device_id)>16:     device_id=device_id[0:16]   iflen(device_id)==0:     continue   city=device_sheet.cell(row,10).val

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。