转载说明:

原文地址:http://my.oschina.net/alazyer/blog/223354

原文有十处左右的错误,修正后转载于此。

经验证,python 3.4.3下可用。请各位朋友明察。

使用Python操作Excel不是什么难事,需要用到两个Lib, python-xlrd,python-xlwt

安装

pip install xlrd xlwt
支持xls,xlsx格式

写Excel

创建一个文件
workbook = xlwt.Workbook(encoding='utf-8')
增加一个表单
booksheet = workbook.add_sheet('Sheet 1')
增加一行
row = booksheet.row(i)
增加一列
col = booksheet.col(j)
为某个单元格赋值
booksheet.write(i, j, 'Test')
row.write(j, 'Test')
col.write(i, 'Test')
注意: 在add_sheet时, 置参数cell_overwrite_ok=True, 可以覆盖原单元格中数据。
cell_overwrite_ok默认为False, 覆盖的话, 会抛出异常.

import xlwt
workbook = xlwt.Workbook(encoding='utf-8')
booksheet = workbook.add_sheet('Sheet 1', cell_overwrite_ok=True)
workbook.add_sheet('Sheet 2')
DATA = (('学号', '姓名', '年龄', '性别', '成绩'),
(1001, 'AAAA', 23, '男', 98),
(1002, 'BBBB', 21, '女', 90),
(1003, 'CCCC', 24, '女', 100),
(1004, 'DDDD', 22, '女', 86),
(1005, 'EEEE', 25, '女', 88),) for i, row in enumerate(DATA):
for j, col in enumerate(row):
booksheet.write(i, j, col)
booksheet.col(0).width=10
workbook.save('成绩单.xls')

读Excel

获取一个文件
workbook = xlrd.open_workbook('成绩单.xls')
获取文件中表单数量
workbook.nsheets
获取一个表单
workbook.sheets()[i],
workbook.sheet_by_index(i)
workbook.sheet_by_name(u'Sheet1')
获取行,列数
sheet.nrows, sheet.ncols
获取整行,列数据
sheet.row(i), sheet.col(j)
获取某个单元格数据
sheet.cell(i, j).value
sheet.row(i)[j].value
sheet.col(j)[i].value

import xlrd
workbook = xlrd.open_workbook('成绩单.xls')
print("There are {} sheets in the workbook".format(workbook.nsheets))
for booksheet in workbook.sheets():
print(booksheet.name)
for row in range(booksheet.nrows):
for col in range(booksheet.ncols):
print(xlrd.cellname(row, col))
print(booksheet.cell(row, col).value)

使用Python代码处理Excel的更多相关文章

  1. paip.输入法英文词库的处理 python 代码 o4

    paip.输入法英文词库的处理 python 代码 o4 目标是eng>>>中文>>atian 当输入非atian词的时候儿,能打印出 atian pinyin > ...

  2. Delphi中使用python脚本读取Excel数据

    Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...

  3. 六行python代码的爱心曲线

    前些日子在做绩效体系的时候,遇到了一件囧事,居然忘记怎样在Excel上拟合正态分布了,尽管在第二天重新拾起了Excel中那几个常见的函数和图像的做法,还是十分的惭愧.实际上,当时有效偏颇了,忽略了问题 ...

  4. Python 代码片段收藏

    list 列表相关 list 中最小值.最大值 import operator values = [1, 2, 3, 4, 5] min_index, min_value = min(enumerat ...

  5. Python代码样例列表

    扫描左上角二维码,关注公众账号 数字货币量化投资,回复“1279”,获取以下600个Python经典例子源码 ├─algorithm│       Python用户推荐系统曼哈顿算法实现.py│    ...

  6. Python“文件操作”Excel篇(上)

    大家好,我们今天来一起探索一下用Python怎么操作Excel文件.与word文件的操作库python-docx类似,Python也有专门的库为Excel文件的操作提供支持,这些库包括xlrd.xlw ...

  7. 用python实现简单EXCEL数据统计的实例

    用python实现简单EXCEL数据统计的实例 下面小编就为大家带来一篇用python实现简单EXCEL数据统计的实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 任 ...

  8. 一元回归1_基础(python代码实现)

    python机器学习-乳腺癌细胞挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003&u ...

  9. 用python批量处理Excel表格,处理结果又快又好,做办公室最靓的那个仔

    使用python批量处理Excel数据     让你根据Excel上所有人的身份证号码,提取出公司员工的生日 让你每个月都将公司所有人的考勤数据整理一下 类似这样的格式化的重复操作,你还在每次都使用的 ...

随机推荐

  1. lock free数据结构内存回收技术-hazard pointer

    lock free数据结构一般来说拥有比基于lock实现的数据结构更高的性能,但是其实现比基于lock的实现更为复杂,需要处理的难题包括预防ABA问题,内存如何重用和回收等.通常,最简单最有效的处理A ...

  2. SQLServer中DataLength()和Len()两内置函数的区别

    最近工作中遇到了个问题:在数据库中声明字段类型时char(4),但实际只存储了‘DCE’三个字母,程序中拼装以该字段作为key的Map中,会把‘DCE’+空格作为其Key,这样造成用没加空格的‘DCE ...

  3. npm run dev时报错“events.js:160 throw er; // Unhandled 'error' event”

    经查,此问题由端口占用导致,node服务器默认端口8080已被其他程序占用,关闭占用端口的程序或者修改node服务器的默认端口即可解决此问题

  4. linux下yum安装指定的mysql版本

    因为直接使用yum安装的mysql会是默认版本5.1的版本  但是有的同学不满足又想要其他版本的怎么办呢? 曾时候我来提供一种方案(仅供参考): 我们可以使用rpm包来进行指定mysql版本的安装, ...

  5. iOS系统声音列表

    iOS系统声音列表 效果 说明 1. 点击cell就能发出声音 2. 只需要给出声音编号,就可以,非常简单易用 源码 https://github.com/YouXianMing/iOS-Utilit ...

  6. Nginx-基础配置

    正文 本文转载自:http://www.ha97.com/5194.html 文章经过我排版和润色再加工,更加易读.实在是了解nignx配置的基础好文章. 正文 定义Nginx运行的用户和用户组 us ...

  7. 利用NET HUNTER建立一个自动文件下载的网络接入点

    免责声明:本文旨在分享技术进行安全学习,禁止非法利用. 本文中我将完整的阐述如何通过建立一个非常邪恶的网络接入点来使得用户进行自动文件下载.整个过程中我将使用 Nexus 9 来运行Kali NetH ...

  8. 【Jenkins持续集成】好用的插件集合

    1. Promoted Builds Plugin 这个插件在job构建成功后,依据设置条件(仅手动执行/成功时执行等),执行操作(操作和构建过程基本类似),这样我们就可以在构建之后有机会执行拉分支. ...

  9. thusc2018真退役记

    $day1$: 看了三道题,感觉这次特别毒瘤啊.. $t1$想了一会儿,发现是个傻逼题,然后切掉了. $t2$想了很久,不会,先去搞题答. 题答搞了很久,只搞出第一个点,后面的点根本没看出是什么意思. ...

  10. 判断浏览器是否为ie的最快方法

    var ie = !-[1,]; alert(ie); 只要6 bytes!它利用了IE与标准浏览器在处理数组的toString方法的差异做成的.对于标准游览器,如果数组里面最后一个字符为逗号,JS引 ...