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. springMVC集成logback日志系统

    一.项目结构 项目介绍:maven搭建的web项目,实现Java日志记录功能.其中logback.xml为日志配置文件,spring-mvc-servlet.xml为spring controller ...

  2. Orcale(一)

    oracle数据库基本语句查询 ORacle-12560:TNS 协议配置器错误 1.服务:1.监听服务未开启 2.服务器未开启 3.环境变量:Oracle_sid = orcl 4.regedit注 ...

  3. tcl之过程/函数-proc

  4. linux 安装nginx yum

    本分类下有一个环境一键安装.那这背后发生了什么呢?咱们手动使用源码进行安装.1.首先保证有一个能联网的centos.2.百度 ningx 官网   点download  http://nginx.or ...

  5. Yii2 设计模式

    一. 单例模式 顾名思义, 单例模式就是只实例一次,通过一个接口去实现多处需要的同一类对象的需求. 例子: public function __construct($config = []) { Yi ...

  6. python学习之路1(基本语法元素)

    1.变量与简单数据类型 1.1变量 变量就是给你所写代码的信息起一个名字,用来存储此信息,使信息变得更加的简洁易读, 例如:message = "Hello World!",其中m ...

  7. 数据库DDL

    自己对数据库的整理,也是对自己知识的梳理 SQL ( Structure query language ) 结构化查询语言 SQL语言分为4个部分 1.DDL(Data Definition Lang ...

  8. [学习笔记]CSS选择器

    CSS语法结构 selector {     property1 : value;     property2 : value; } 如果包含多个属性,那么属性每个属性的结尾需要有一个分号.如果属性的 ...

  9. Android面试收集录16 Android动画总结

    一.Android 动画分类 总的来说,Android动画可以分为两类,最初的传统动画和Android3.0 之后出现的属性动画: 传统动画又包括 帧动画(Frame Animation)和补间动画( ...

  10. 20145202马超 《Java程序设计》第二周学习总结

    一.课后练习题目 1.D 并没有给number赋值导致出现错误. 2.A 10/3相当于10=3*3+1: 10/3=3. 3.D 4.D 很明显,byte类型的数据的话300就会出现溢出的情况. 5 ...