使用python对excel进行读写

使用python对excel进行读写

工作周报或是日报,月报,是每一个IT民工的痛吧,一天忙碌下来还要被催着写周报…还好,我们的周报数据是
从项目管理平台(类似mantis)上导出来的。已经有前辈使用Perl写了将导出的excel数据进行筛选生成既定的
EXCEL格式的文档。

python-logo
大家都是懒人… 这个导出周报加上代码维护的工作交给了我。
我所要做的工作整个步骤是:登录网站(用户名/密码)->
->列表页面->输入条件->导出为||->使用Perl将导出文件进行处理->提交周报->…
如果将”导出为”之前的手工步骤也省略掉的话,那才真正实现一步完成..由于对Perl还不熟,所有步骤就选用python
重新写了!那就直接动手做吧:
分析:模块上包括登录WEB,下载文件,导出到EXCEL。
前两个模块都很简单,网上资料也很多:
1.登录,由于是登录后下载,所以需要模拟浏览器,使用cookies。这里就贴出测试的Demon

def get_srcfile(begindt,fridaydt):

    cj= cookielib.CookieJar()
    opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
    opener.addheaders = [('User-agent','Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 5.1)')]
    params = urllib.urlencode({'username':'username',              
                           'password':'passwd',
                            'Cookies_Time': 1,
                             'IsLogin':True})
    #  with cookies
    login_page='http://www.xxx.com/login'
    login_data = urllib.urlencode({u"username":u'wangzhe2',u"password":u'wangzhe2'})   
    opener.open(login_page,login_data)
     ......
    opener.close()

2.下载文件:
减少文字量,参看这里吧:http://outofmemory.cn/code-snippet/83/sanzhong-Python-xiazai-url-save-file-code

3.读下载的文件,并导入生成的excel
这里不得不提到xlwt,xlrd,xlutils这几个包。
xlrd:读excel文件,从名字可以看出来,xls read 。地址:https://pypi.python.org/pypi/xlrd
xlwt:写excel文件,xls write,可以控制Excel中单元格的格式。地址:https://pypi.python.org/pypi/xlwt
xlutils:xlwt对于读取和生成Excel文件都非常容易处理,但是对于已经存在的Excel文件进行修改就存在问题了,
xlutils(依赖于xlrd和xlwt)提供复制excel文件内容和修改文件的功能。
下载地址:https://pypi.python.org/pypi/xlutils
具体参见文档: http://www.python-excel.org/   http://pythonhosted.org/xlutils/

不得不说在使用的时候遇到了问题,我需要的是操作office 2007+ 的xlsx文件,而且要用到excel的数据验证和下拉选框
(Data validation and drop down lists),这样问题显而易见了,这个包肯定不能用了。
于是,必须要重新选择其他方法了,这时Google给出了这个最佳答案: XlsxWriter!
  https://pypi.python.org/pypi/XlsxWriter
通过介绍可以看得出来,XlsxWriter可以操作xlsx文件,单元格写入文本,数字,公式,日期等不同格式;格式化表格,
图表,合并单元格等等。,最主要满足Data validation and drop down lists操作的需求。

excel 数据验证 xlsxWriter
excel 数据验证 xlsxWriter

XlsxWriter is a Python module for creating Excel XLSX files.
XlsxWriter supports the following features:

100% compatible Excel XLSX files.
Write text, numbers, formulas, dates to cells.
Write hyperlinks to cells.
Full cell formatting.
Multiple worksheets.
Charts.
Page setup methods for printing.
Merged cells.
Defined names.
Autofilters.
Data validation and drop down lists.
Conditional formatting.
Worksheet PNG/JPEG images.
Rich multi-format strings.
Cell comments.
Document properties.
Worksheet cell protection.
Freeze and split worksheet panes.
Worksheet Tables.
Sparklines.
Outlines and Grouping.
Memory optimisation mode for writing large files.
Standard libraries only.
Python 2.6, 2.7, 3.1, 3.2 and 3.3 support.

iWork for iCloud beta Now Available

iWork for iCloud beta Now Available

Google Docs(Google Drive),Office Web Apps(Skydrive)终于有了新的伙伴,Apple 今天通过邮件宣布了iWork for iCloud beta今天发布。
届时可以使用Apple开发者关联账户登录 http://beta.icloud.com,登录之后你会发现在首页上已经有了 Pages, Numbers, and Keynote Beta版图标.

apple_iwork
点击进去体验一下吧:
iWork for iCloud 可以让你在MAC或者PC的浏览器上使用Pages, Numbers, 还有 Keynote创建漂亮的文档,表格,演示文稿。
作为一个Apple开发者,你可以成为首批iWork for iCloud Beta版的使用者。只需在最新版本的Safari, Chrome, 或者IE浏览器上访问 http://beta.icloud.com
使用 Apple开发者帐号关联的Apple Id登录。
请注意:目前这些WEB APP 还处于测试版本,请务必在本地备份您的文档。

iWork for iCloud lets you create beautiful documents, spreadsheets, and presentations using Pages, Numbers, and Keynote in your browser on a Mac or PC.
As a Registered Apple Developer, you can be one of the first to use the beta of iWork for iCloud.
To get started, simply go to http://beta.icloud.com with the latest version of Safari, Chrome, or Internet Explorer and sign in with the Apple ID associated with your Registered Apple Developer account.
Please note that these web apps are in beta and it’s important that you regularly maintain a local backup of your documents.

————–info by gigiwangs.com