操作 xls格式的excel文件

读模块

xlrd

import xlrd

打开文件

wb= xlrd.open_workbook('xxxx.xls')

获取excel中的表

ws= wb.sheets()[0]       #通过索引顺序获取
ws= wb.sheet_by_index(0) #通过索引顺序获取
ws= wb.sheet_by_name(u'Sheet1')#通过名称获取

获取指定行,列的值,返回的是列表,

xlrd的索引是从0开始的,
获取第一行的值,索引就是0
ws.row_values(0) >>[123.0, 123.0, 23.0, 12.0]
获取第一列的值
ws.col_values(0) >>[1231.0, 123.0, 23.0, 23.0, 23.0, 23.0, 23.0, 23.0]

获取行数列数

获取excel的总行数
ws.nrows >> 7
获取excel总列数
ws.ncols >> 4

获取指定单元格的值

获取第一行第一列的单元格(0,0)对象
ws.cell(0,0)
该单元格对象有value属性,返回单元格的值,为浮点型
ws.cell(0,0).value >> 123

写模块

xlwt

import xlwt

# 创建wb对象
wb = xlrd.Workbool(encoding='gbk') # 创建ws对象
ws = wb.add_sheet('sheet名') # 定义样式
style = xlwt.XFStyle();
headstyle = xlwt.XFStyle(); font = xlwt.Font();
headfont = xlwt.Font();
borders = xlwt.Borders();
lineal = xlwt.Alignment();
headal = xlwt.Alignment(); font.name = 'FangSong';
font.bold = False;
headfont.name = 'FangSong';
headfont.bold = True;
headfont.height = 220; #20 * 实际字体大小,11号字体为220 borders.left = xlwt.Borders.THIN;
borders.right = xlwt.Borders.THIN;
borders.top = xlwt.Borders.THIN;
borders.bottom = xlwt.Borders.THIN; headal.horz = 0x02 # 设置水平居中
headal.vert = 0x01 # 设置垂直居中
lineal.vert = 0x01 # 设置垂直居中
lineal.wrap = xlwt.Alignment.WRAP_AT_RIGHT; style.font = font;
style.borders = borders;
style.alignment = lineal;
headstyle.font = headfont;
headstyle.borders = borders;
headstyle.alignment = headal; #指定单元格大小
wsheet.col(0).width = 256 * 8;
wsheet.col(1).width = 256 * 30; #给单元格写入数据
指明行号列号要写的值,注意索引位置是从0开始的
ws.write(0,0,‘测试数据’,style)
指定title的格式
ws.write(0,0,‘测试数据’,headstyle)
#保存文件
wb.save('写xls.xls')

最新文章

  1. CSS颜色模式转换器的实现
  2. SQL Server 百万级数据提高查询速度的方法
  3. Android四大组件之Activity详解——创建和启动Activity
  4. Python ValueError: IO operation on closed file
  5. Linux系统管理远程登录工具PUTTY
  6. 获取subview
  7. Node.js在任意目录下使用express命令‘不是内部或外部命令’解决方法
  8. 腾讯云+校园扶持计划是bug还是福利
  9. Jvm垃圾回收器(终结篇)
  10. iOS 图片9切
  11. 使用docker 部署rabbitmq 镜像
  12. 【叶问】MySQL误删除frm文件该怎么办?
  13. CSS 基础 例子 图片拼合技术
  14. java中的String类的不可变性的小例子
  15. 【转】Java利用反射机制访问私有化构造器
  16. linux查看网卡驱动
  17. python通过cx_oracle操作数据库过程简单记录
  18. java内存溢出xms xmx
  19. LeetCode——Search for a Range
  20. 初识JMM

热门文章

  1. Python yield 使用浅析【转】
  2. windows Git Bash 无法运行python文件的解决方法(转)
  3. Consul微服务的配置中心体验篇
  4. shell 实战 -- 基于一个服务启动,关闭,状态检查的脚本
  5. 基于【 SpringBoot】一 || QQ授权流程
  6. react-native 沉浸式状态栏
  7. Fatal error:Call to undefined function mysqli_connect() in .php line 报错
  8. Robo 3T SQL
  9. FDD-LTE上下行带宽一样的,为什么上下行流量差别这么大
  10. queue模块笔记