专栏首页python3python操作Excel

python操作Excel

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python3爬虫初探(六)之EXCEL

     在爬取数据之后,数据的保存就成为一个新的问题,一般不太大的的数据存储到EXCEL就可以了。这里介绍一个python的第三方库——xlsxwriter.

    py3study
  • UITableView性能提升和优化(第

    在重用cell之后,你可以再一次测试滚动性能。从表格3-3可以看出,在你正确重用cell之后,性能提升了一倍。

    py3study
  • Python3.x学习笔记[3]通过Py

    从网上学到很多东西,xlrd支持Python3.x,所以可以直接pip安装(至于PIP配置快捷方式和使用国内镜像加速下载以后和CX FREEZE以及SUBLIM...

    py3study
  • Leetcode 60 Permutation Sequence

    The set [1,2,3,…,n] contains a total of n! unique permutations. By listing an...

    triplebee
  • 深度 | 从各种注意力机制窥探深度学习在NLP中的神威

    作者 Antoine Tixier 表示整篇综述笔记也是他学习过程的一部分,所以这一文章还会在 arXiv 上继续更新。为了完成整篇文章,作者主要借鉴了各种卷积...

    机器之心
  • 深度 | 从各种注意力机制窥探深度学习在NLP中的神威

    作者 Antoine Tixier 表示整篇综述笔记也是他学习过程的一部分,所以这一文章还会在 arXiv 上继续更新。为了完成整篇文章,作者主要借鉴了各种卷积...

    zenRRan
  • 你随便动幕布,投影跟不上算我输,动态投影黑科技,AE特效秒变成真

    前不久,AE一个名为Lockdown的插件火了:任你再动再不平坦,图案都能无缝紧贴。

    量子位
  • C++程序员经常问的11个问题

    这篇文章收了好长时间,但还是觉得贴出来,作为收藏,在网上这样的浮躁环境,很少能认认真真地看这样长的文章,有时间我也要把《Effective C++》的读书笔记作...

    阳光岛主
  • Rust入坑指南:智能指针

    在了解了Rust中的所有权、所有权借用、生命周期这些概念后,相信各位坑友对Rust已经有了比较深刻的认识了,今天又是一个连环坑,我们一起来把智能指针刨出来,一探...

    Jackeyzhe
  • leetcode 6 ZigZag Conversion

    The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of...

    triplebee

扫码关注云+社区

领取腾讯云代金券