1

实际案例

问题内容:数据格式为xls,xlsx,是一种常用的电子表格。

小学某班级成绩,记录在excel文件中:

姓名 语文 数学 外语

李磊 95 99 96

韩梅 98 100 93

张峰 94 95 95

……

利用python读写excel,添加“总分”列,计算每人总分。

2

解决办法

使用第三方库xlrd和xlwt,这两个库分别用于excel读和写。

首先安装第三方库

#pip install xlrd xlwt

In [1]: import xlrd

In [4]: book = xlrd.open_workbook('demo.xlsx')

In [5]: book.sheets()

Out[5]: []

## 获取excel中全部sheet

#如何通过book访问sheet?

In [9]: sheet =book.sheet_by_index(0)

这里index(0)表示第一个sheet。

# 获取sheet的行数和列数

In [10]: sheet.nrows

Out[10]: 12

In [11]: sheet.ncols

Out[11]: 4

#如何获取每个cell的对象,只需传入行列的坐标就可以了

In [12]: sheet.cell?

Signature: sheet.cell(rowx, colx)

Docstring: :class:`Cell` object in the given row and column.

File:      c:\python27\lib\site-packages\xlrd\sheet.py

Type:      instancemethod

In [13]: cell = sheet.cell(0,0)

In [14]: cell.ctype

Out[14]: 1

值为1 文本类型

In [15]: cell.value

Out[15]: u'\u59d3\u540d'

In [16]: print cell.value

姓名

#ROW,获取一行一次

In [17]: sheet.row(1)

Out[17]: [text:u'\u674e\u78ca', number:95.0, number:99.0, number:96.0]

它获取一个列表,其中每一项都是一个EXCEL对象。

# 获取第一行的值,返回一个list。

In [21]: sheet.row_values(1)

Out[21]: [u'\u674e\u78ca', 95.0, 99.0, 96.0]

In [22]: sheet.row_values(1,1)

Out[22]: [95.0, 99.0, 96.0]

#还可以为这张表添加单元格,sheet.put_cell

In [23]: sheet.put_cell?

Signature: sheet.put_cell(rowx, colx, ctype, value, xf_index)

Docstring:

File:      c:\python27\lib\site-packages\xlrd\sheet.py

Type:      instancemethod

xf_index: 字体,对齐,一般设置为None即可

#对于列的操作,可以这样:

# COLUMN

print(sheet.col(2))

print(sheet.col_values(2))

print(sheet.col_values(2, 0, 4))

#程序代码:

#coding:utf8

import xlrd

import xlwt

rbook = xlrd.open_workbook('demo.xlsx')

rsheet = rbook.sheet_by_index(0)

nc = rsheet.ncols

# 添加一个cell

rsheet.put_cell(0, nc, xlrd.XL_CELL_TEXT, u'总分', None)

for row in xrange(1, rsheet.nrows):

t = sum(rsheet.row_values(row, 1, nc))

# 计算每一行的分数之和

rsheet.put_cell(row, nc, xlrd.XL_CELL_NUMBER, t, None)

# 添加一个cell,在总分的列上

#创建EXCEL文件,

wbook = xlwt.Workbook()

wsheet = wbook.add_sheet(rsheet.name)

style = xlwt.easyxf('align: vertical center, horizontal center')

for r in xrange(rsheet.nrows):

for c in xrange(rsheet.ncols):

wsheet.write(r, c, rsheet.cell_value(r, c), style)

wbook.save('output.xlsx')

学习|生活|分享|积累|永不停步

请留下你指尖的温度

让太阳拥抱你

微信ID:haopython

.bin 文件用excel文件打开_用PYTHON读写excel文件相关推荐

  1. csv 字符串_爬虫|python读写csv文件的方法完成生涯规划表

    前面用PrettyTable制作了生涯规划表,今天突然想到其实可以用Python读写Excel文件,还可以制作Excel表格,相对而言,感觉csv的读写更简单,所以决定用csv改写生涯规划案例,以后教 ...

  2. python读csv最快方法_使用Python读写csv文件的三种方法

    Python读写csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 前言 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是 ...

  3. python读写csv文件方法总结_使用python读写CSV文件的三种方法

    Python读写csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 前言 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是 ...

  4. python打开excel进行编辑_使用Python进行Excel文件处理

    本章节选自本人著<Python Basic Tutorial>第十五章 15. Excel文件处理 15.1 引言 数据处理是Python的一大应用场景,正如我在本书之前所反复强调的,基于 ...

  5. python文件查重并合并_用python对excel查重

    最近媳妇工作上遇到一个重复性劳动,excel表格查重,重复的标记起来,问我能不能写个程序让它自动查重标记 必须安排 第一次正儿八经写python,边上网查资料,边写 终于成功了 在此记录一下 首先安装 ...

  6. 用python处理excel文件_用python 读写excel文件(附资料下载)

    对excel文件的操作,python有第三方的工具包支持,xlutils,在这个工具包中包含了xlrd,xlwt等工具包.利用这些工具,可以方便的对excel 进行操作. 1. 下载 xlutils ...

  7. 【EXCEL】详解使用python读写EXCEL文件(xlrd,xlwt)

    本文收录于<Python开发>专栏,此专栏聚焦于Python开发中的编程技巧和总结,将持续更新,欢迎大家订阅! 个人主页:有梦想的程序星空 个人介绍:小编是人工智能领域硕士,全栈工程师,深 ...

  8. python解析xml文件最好选用的模块_用Python解析XML文件

    本文翻译自:https://developer.yahoo.com/python/python-xml.html 使用Python解析XML文件 许多YDN APIs提供了JSON格式的数据输出,JS ...

  9. python 拆分excel工作表_使用python拆分excel单元格方法

    在使用python语言时,利用openpyxl库操作excel,可以用来拆分excel单元格.那么,如何拆分单元格呢? 工具/原料 python pycharm openpyxl 截图工具 WPS 笔 ...

最新文章

  1. git 无法拉取新的远程分支
  2. 以太坊,EOS和其他DApps的总数达到2,432,但没有大规模采用
  3. 统一账号/统一认证系统的引入和搭建(LDAP)
  4. C++容器map可以排序吗?
  5. @ConfigurationProperties与@Value注解
  6. 我在中国图书网不愉快的购书经历!!!!!!!
  7. ORA-01810: 格式代码出现两次
  8. CodeForces 799B (B) T-shirt buying
  9. opengl计算帧率_或许是迄今为止第一篇讲解 fps 计算原理的文章吧
  10. 最新阿里内推高级Java面试题
  11. 自适应好看的引导单页源码-无后台
  12. python编程入门-最好的Python入门教材是哪本?
  13. vuex的store机制1
  14. 故障模块名称kernelbase.dll_OBDII(OBD2)故障码库P0700P0799
  15. php tp admin怎么安装,TP的配置及安装 · Thinkphp5.1+AdminLTE内容管理系统(商城版) 请不要购买 到群上下载源码 · 看云...
  16. 不使用设备管理器卸载外设驱动的方法(转)
  17. font在html语言中是什么意思,font标签什么意思
  18. 计算机学院考勤管理办法,学生考勤管理规定
  19. 钛媒体2022 EDGE AWARDS全球创新评选之「年度最佳企业服务品牌」揭榜
  20. python的openpyxl模块合并单元格,浅谈openpyxl库,遇到批量合并单元格的问题

热门文章

  1. [javaweb] servlet-session 会话跟踪技术 与 session保存作用域 (三)
  2. 全面讲解Python列表数组(一)创建,增删改查,萌新版,
  3. python中深浅复制教程
  4. python argparse理解与实例
  5. html转word并保持格式不变,表格从Word转Excel想保持格式不变?用这两种方法,保你轻松搞定...
  6. linux ubuntu16.04 编译opencv教程(没编过,有时间再弄,推流不用opencv也行的)
  7. python multiprocessing 进程间如何共享数据、对象
  8. 【中级软考】什么是非对称加密算法?
  9. C/C++ 回调函数是什么?Intel Realsense里的回调(callback)是什么?
  10. Markdown 如何实现空行、空格?