excel编程:excel中是unicode编码方式
需要使用xrld,xlwt和openpyxl这三个模块,需先通过pip install下载
    xlrd 读取模块:xls,xlsx
    xlwt:写的模块:xls
    openpyxl:可读写
一、xlrd
import xlrd
1、通过excel获取具体的sheet
(1)获取整个Excel
workBook=xlrd.open_workbook('path')
这一句是把所有内容赋值给workBook,然后把句柄关闭。所以不需要做关闭文件的操作
一个excel可以由多个shee组成
(2)获取所有的sheet
sheetList=workBook.sheets()
(3)获取某一个sheet
sheet1=sheetList[0] 获取第一个sheet
workBook.sheet_by_index(0) 通过列表的下标,直接获取第一个sheet
workBook.sheet_by_name(u'中国') 通过sheet名来获取sheet
2、操作单元格
(1)获取某一行的数据
rowList=shee1.row_values(0) 获取第一行的数据
rowList[3] 获取第一行第四列的数据
(2)获取某个单元格的数据
cell = sheet1.cell(0,4) 获取第一行第五列的单元格的数据
print cell.value 打印单元格的数据
 
(3)获取某一列的数据
colList=sheet1.col_values(1) 获取第二列的数据
colList[2] 第二列第三行的数据
 
3、最后一个单元格被使用的位置
sheet1.nrows 行数
sheet1.ncols 列数
 
二、xlwt 写模块,写入到一个新的文件中,可以覆盖写
1、生成workBook
workBook=xlwt.Workbook(encoding='utf-8')
encoding默认是ascii,需要 重新定义编码方式
 
2、生成sheet
sheet1=workBook.add_sheet('test2') 添加一个名字为test2的sheet
print sheet1.name
3、定位单元格cell
sheet1.write(r=2,c=2,label='test data')
r 行号 c:列号 label :写的内容
4、 保存写的内容到指定的位置
wordBook.save('d:\\tmp\\test1.xls') 文件格式只能是xls
 
三、openpyxl读
95%的时间使用的是这个模块,目前excel处理的模块,只有这个还在维护
1、workBook
workBook=openpyxl.load_workbook('path(.xlsx)').encode('gbk')
print workBook
2、sheet
sheetList=workBook.get_sheet_names() 获取所有sheet的名称,保存为列表格式
print sheetList
3、cell
(1)sheet1=workBook.get_sheet_by_name('test1') 获取某一个具体的sheet
(2)rowsData=sheet1.rows 获取所有的行,返回一个迭代器
行和列都是从1开始的,不是从0
for i in rowsData:
#print i
#print type(i) 元组格式
for j in i:
print j.coordinate(每一个cell的下表),j.value(cell的值), 打印出所有cell的内容
print
(3)colsData=sheet1.columns 获取所有的列,并返回迭代器
(4)更新某个单元格
j.value=u'重新赋值'
workBook.save(path(之前操作的路径))
 
4、单元格的定位
两种方式:
(1)c1=sheet1.cell(coordinate='B2')
print c1.value
(2)c2=sheet1['B2'] 字典格式:通过key值找value
print c2.value
(3)c1=sheet1.cell(row=2,column=3) 第二行第三列
print c1.value
(4)切片,获取一个区域的单元格
area=sheet1['C2':'D7'] 得到一个元组
print area 元组里面嵌套元组
for i in area:
# print i
for j in i:
pass
# print j
print j.coordinate,
j.value = j.coordinate
print
 
 
四、写单元格
1、写workBook
workBook=openpyxl.Workbook()
2、sheet
sheet1=workBook.create_sheet(title='sheet1',index=0)
index=0 定位第几个sheet
3、cell
sheet1['B6'].value=u'testB6'
workBook.save(path)
 
4、在下一空行整行写入
sheet1.append([1,2,3,4,5,6,7])
 
五、excel相关的样式操作
import openpyxl
from openpyxl.styles import PatternFill,Alignment,Font,colors
workBook=openpyxl.Workbook()
sheet1=workBook.create_sheet('test')
1、合并单元格,两种方式
(1)sheet1.merge_cells(range_string='A2:G2')
(2)sheet1.merge_cells(start_row=2,start_column='A',end_row=2,end_column='G')
2、设置排版样式:对齐方式
al=Alignment(horizontal='center') horizontal:left,center,right
sheet1['A2'].alignment=al
 
3、设置背景颜色
fill=PatternFill(patternType='solid',fgColor=colors.BLUE)
sheet1['A2'].fill=fill
 
4、字体的颜色
sheet1[A2].value
font=Font(colors=colors.WHITE,size=14)
sheet1['A2'].font=font

Python之Excel编程的更多相关文章

  1. [Python]Excel编程示例教程(openpyxl)

    1 前言(Preface) 博文背景:论文实验中有一大堆数据集需要观测其数据特征,通过人体肉眼,难以直观感受,故而准备通过生成Excel,可视化其评测数据. We know: Excel便于可视化分析 ...

  2. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  3. Python金融应用编程(数据分析、定价与量化投资)

    近年来,金融领域的量化分析越来越受到理论界与实务界的重视,量化分析的技术也取得了较大的进展,成为备受关注的一个热点领域.所谓金融量化,就是将金融分析理论与计算机编程技术相结合,更为有效的利用现代计算技 ...

  4. Python数据可视化编程实战pdf

    Python数据可视化编程实战(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1vAvKwCry4P4QeofW-RqZ_A 提取码:9pcd 复制这段内容后打开百度 ...

  5. Python读取excel中的图片

    作为Java程序员,Java自然是最主要的编程语言.但是Java适合完成大型项目,对于平时工作中小的工作任务,需要快速完成,易于修改和调试,使用Java显得很繁琐,需要进行类的设计,打成jar包,出现 ...

  6. Python 操作 Excel,总有一个模块适合自己

    最近在写性能相关的测试脚本,脚本已经完成,最终怎么体现在报告上,要想让报告看起来漂亮些,我们是先创建一个模板(格式和公式已全部制作好),只需要性能测试完成后往对应的sheet页中填充数据,数据完成后最 ...

  7. Python对Excel的操作

    Python几个读取Excel库的介绍: xlwings 可结合 VBA 实现对 Excel 编程,强大的数据输入分析能力,同时拥有丰富的接口,结合 pandas/numpy/matplotlib 轻 ...

  8. 使用Python操作Excel文档(一)

    Python | 使用Python操作Excel文档(一) 0 前言 在阅读本文之前,请确保您已满足或可能满足以下条件: 请确保您具备基本的Python编程能力. 请确保您会使用Excel. 请确保您 ...

  9. 震惊!当Python遇到Excel后,将开启你的认知虫洞

    本文主要内容:   1. Excel,你为什么如此强大 2. 软件开发也需要团队作战 3. Excel的集成方案演化 4. macOS特有的集成方案:applescript 5. Python与Exc ...

随机推荐

  1. linux定时任务及练习

    第1章 定时任务 1.1 什么是定时任务 相当于闹钟每天叫你起床 设定一个时间去做某件事 1.2 系统定时任务 [root@zeq ~]# ll -d /etc/cron* drwxr-xr-x. 2 ...

  2. 原生js关闭窗口

    if (navigator.userAgent.indexOf("MSIE") > 0) { if (navigator.userAgent.indexOf("MS ...

  3. linux文件共享之samba,nfs的搭建

    Samba server简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局 ...

  4. c#常用数据结构解析【转载】

    引用:http://blog.csdn.net/suifcd/article/details/42869341 前言:可能去过小匹夫博客的盆油们读过这篇对于数据结构的总结,但是小匹夫当时写那篇文章的时 ...

  5. C语言指针篇(一)指针与指针变量

    指针 1. 什么是指针?    2. 指针可不可怕? 3. 指针好不好玩? 4. 怎么学好指针?     C语言是跟内存打交道的语言,指针就是内存地址.指针无处不在,指针并不可怕,相反,等你学到一定程 ...

  6. C语言进阶——enum, sizeof, typedef 分析11

    枚举类型的使用方法: enum是C语言的 一种自定义类型 enum值是可以根据需要自定义的整型值 第一个enum的值默认为0 默认情况下的enum值是在前一个定义值的基础上加 1 enum类型的变量只 ...

  7. POJ:2431-Expedition

    Expedition Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 20089 Accepted: 5786 Descripti ...

  8. 队列--数据结构与算法JavaScript描述(5)

    队列 Queue 概念 队列是一种列表,但队列只能在队尾插入元,在队首删除元素. 队列是一种先进先出的数据结构,用于存储按顺序排列的数据,被用在很多地方,比如提交操作系统执行的一系列进程.打印任务池等 ...

  9. 3,版本控制git-多人协作

    如果你想获得一份已经存在了的 Git 仓库的拷贝,比如说,你想为某个开源项目贡献自己的一份力,这时就要用到 `git clone` 命令. 如果你对其它的 VCS 系统(比如说Subversion)很 ...

  10. WPF制作的小时钟

    原文:WPF制作的小时钟 周末无事, 看到WEB QQ上的小时钟挺可爱的, 于是寻思着用WPF模仿着做一个. 先看下WEB QQ的图: 打开VS, 开始动工. 建立好项目后, 面对一个空荡荡的页面, ...