python 学习记录-excel操作

环境准备:
(1)按WIN+R组合键,在调出的运行窗口输入框中输入“CMD”并按Enter键。
(2)在弹出的CMD窗口中输入“pip install openpyxl==2.3.3”,进行安装Python解析Excel2007以上版本的模块。如不能安装进入pip.exe目录,重新安装一次
(3)如果上述方法安装失败,读者可以直接方位https://pypi.python.org/pypi/openpyxl下载openpyxl源码安装包,校验,不报错即安装成功。
在这里插入图片描述
xlrd、xlwt和openpyxl模块的比较:
1)xlrd:对xls、xlsx、xlsm文件进行读取数据操作–读操作效率较高,推荐
2)xlwt:针对2007之前的版本xls文件进行写操作–写操作效率较高,但是操作xlsx文件。
3)openpyxl:对2007之后的版本xlsx、xlsm文件进行读、写操作。不支持老版本xls格式。
xlrd读操作效率较高,实际使用xlsx、xlsm中可以考虑用xlrd读取,用openpyxl写入。

import xlrd
#filename为绝对路径,获取excel表格对象
filename=r'D:\下载\test.xls'
wkb=xlrd.open_workbook(filename)
#获取所有sheet名称
print wkb.sheet_names()
#获取第一个sheet名称
print wkb.sheet_names()[0]
#*******获取sheet句柄************
print wkb.sheets()[0]
print wkb.sheet_by_index(0)
print wkb.sheet_by_name('Sheet2')
#*********获取cell值的方法*************
#nrows=sheet.nrows 总行数
sheet=wkb.sheets()[0]
print sheet.nrows
#ncols=sheet.ncols 总列数
print sheet.ncols
#sheet.row_values(i) 第i+1行的值
print sheet.row_values(1)
#sheet.col_values(i) 第i+1列的值
print sheet.col_values(1)
#sheet.cell(0,1).value 第1行2列的值
print sheet.cell(0,1).value
#sheet.cell_value(0,1) 第1行2列的值
print sheet.cell_value(0,1)
#sheet.row(0)[1].value 第1行2列的值
print sheet.row(0)[1].value
#sheet.col(1)[0].value 第1行2列的值
print sheet.col(1)[0].value

#***********python excel写操作*********
import xlwt
#新建
wbk=xlwt.Workbook()
#在工作簿中新建sheet页。如果对同一单元格重复操作会出错,cell_overwrite_ok确认同一个单元格是否重复,可覆盖掉原值
sheet=wbk.add_sheet('Sheet 2',cell_overwrite_ok=True)
#单元格第1行第1列写入‘content’
sheet.write(0,0,'content')
#单元格第1行第1列写入‘content1’
sheet.write(0,0,'content1')
style=xlwt.XFStyle()#设置样式
ft=xlwt.Font()#字体
ft.name='Times New Roman'#字体
ft.bold="True"#加粗
style.font=ft
#设置背景色,设置加粗
style2=xlwt.easyxf('pattern:pattern solid,fore_colour red;font:bold on;')
sheet.write(0,0,'content',style)#第一行第1列,写入content,用样式style
sheet.write(0,1,888,style2)#第一行第2列,写入888,用样式style2
wbk.save('text2.xlsx')#保存为test2.xlsx

#python excel 修改操作,表中插入数据
#xlutils.copy
from xlutils import copy
import xlrd
wkb_rd=xlrd.open_workbook('text.xlsx')
wkb_cp=copy.copy(wkb_rd)#拷贝text.xlsx的数据
sheet=wkb_cp.get_sheet(1)#操作哪个sheet
sheet.write(1,1,'111')#插入数据
wkb_cp.save('text.xlsx')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值