前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python操作Excel

python操作Excel

作者头像
py3study
发布2020-01-07 10:23:20
8290
发布2020-01-07 10:23:20
举报
文章被收录于专栏:python3python3
代码语言:javascript
复制
import xlrd
import xlwt

 import xlutils

 import win32com

#xlrd

#打开excel

data = xlrd.open_workbook("I+P.xls")

#查看文件中包含sheet的名称

sheetNames = data.sheet_names()

#得到第一个工作表,或者通过索引顺序或工作表名称

firstTable = data.sheets()[0]

firstTable1 = data.sheet_by_index(0)

# print firstTable

# print firstTable1

#获取行数和列数

nrows = firstTable.nrows

ncols = firstTable.ncols

# print nrows,ncols

#获取正行或整列的值(数组)

test1 = firstTable.row_values(1)

test2 = firstTable.col_values(1)

# print test1,test2

#单元格

cell_A1 = firstTable.cell(0,0).value

cell_C4 = firstTable.cell(2,3).value

#

# print cell_A1

# print cell_C4

#分别使用行列索引

cell_A1 = firstTable.row(0)[0].value

cell_A2 = firstTable.col(1)[0].value

print cell_A1

print cell_A2

# #xlwt

# #新建一个excel文件

# file = xlwt.Workbook()

# #新建一个sheet

# table = file.add_sheet("yanshan",cell_overwrite_ok=True)

# #cell_overwirte_ok参数控制单元格是否能够重写

# #写入数据table.wirte(行,列,value)

# table.write(0,1,"yanshan")

# table.write(0,0,"test")

# table.write(1,1,"jialing")

# table.write(1,2,u"知青")

#

# #另外,可以使用style

# style = xlwt.XFStyle()#初始化样式

# font = xlwt.Font()#为样式创建字体

# font.name = "Times New Roman"

# font.bold = True

# style.font = font#为样式设置字体

# table.write(5,5,"some bold Times text",style)

#

# #保存文件

# file.save("demo.xls")

# #xlutils,具体操作实例

# from xlrd import open_workbook

# from xlutils.copy import copy

#

# rb = open_workbook(u"I+P.xls", formatting_info=True)

# #参数formatting_info=True带格式拷贝

# wb = copy(rb) #经过copy后得到的wb就是可写的Workbook对象了

# #注:不支持图片拷贝,且支持的颜色种类较少

# #对其进行写操作

# ws = wb.get_sheet(2)

# ws.write(2, 0, "changed!")

#

# wss = wb.add_sheet("1223", 1)

# wss.write_merge(2, 2, 0, 5, "changed!")

# # wss.wirte(2, 0, "123")

#

# wb.save("I+P.xls")

#win32com

# 调用com组件操作Excel,大部分函数调用类似VBA(可查看VBA帮助文档)

# 操作步骤:

# 连接COM库

xlsApp = win32com.cllient.Dispatch("Excel.Application")

xlsApp = win32com.client.DispatchEx("Excel.Application")

#区别:DispatchEx新建一个Excel进程

#创建表(或打开)

book = xlsApp.Workbooks.Open(filename)

#新建

book = xlsApp.Workbooks.Add()

#获取页签

sheet = book.Wooksheets(n) #n为名字或索引

#添加页签

sheet = book.Wooksheets.Add(name)

#页签句柄属性

sheet.name

#删除页签

Worksheets(n).Delete()

#单元格赋值

sheet.Cells(r,c).Value

#保存工作表

book.Save()

book.SaveAs(filename)

#关闭工作表

books.Close(SaveChange  =  False)

#关闭COM组件

xlsApp.Application.Quit()

del xlsApp

#删除行/列

sheet.Rows(r).Delete

sheet.Columns(r).Delete

#设置所有行/列高

sheet.Rows.RowsHeigh

sheet.Columns.ColumnWidth

#Excel拷贝对象:

sheet1.copy(sheet2) #页签拷贝

Range1.copy(Range2) #范围拷贝

#多线程操作Excel使用的特殊函数(动态链接):

pythoncom.CoInitialize() #开辟套件

pythoncom.CoUnInitialize()  #回收套件

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档