文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python操作Excel

2023-01-31 06:54

关注
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()  #回收套件


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯