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. php中const与static的区别与使用(转)

    首先关于const 在php的类内部只可以修饰成员属性,不可以修饰方法,如下:   class Test{   const PATH = 'c/';//修饰常量   const function te ...

  2. ospf几种lsa

    ospf网络类型 1.点到点 点到点网段 2.广播网络 transit网段(至少有两台路由器的广播型网段) 3.NBMA transit网段 4.点到多点 ospf网段的类型(网段的类型只与网络的类型 ...

  3. 最小生成数kruskal算法和prim算法

    定义 连通图:在无向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该无向图为连通图. 强连通图:在有向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该有向图为强连通图. 连通网:在 ...

  4. POJ 3662 (二分+SPFA

    Telephone Lines Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8856   Accepted: 3211 D ...

  5. perl连接mysql数据库

    首先需要安装 ppm install DBD::mysql use strict; use DBI; my $host = "localhost"; # 主机地址 my $driv ...

  6. 笔记-unittest实战

    笔记-unittest实战 1.      框架图 2.      用例 编写自己的测试用例类,继承于基类 class ApiTestCase(unittest.TestCase): setUp方法会 ...

  7. Android面试收集录 Android入门

    1.Android的特点有哪些? 编程语言是Java或Kotlin,Android中的Java字节码是允许在Dalvik虚拟机上的 支持4大组件 Android内置了WebKit核心的浏览器,支持H5 ...

  8. TouTiao开源项目 分析笔记5

    1.深入理解RxJava 1.1.基本上现在的APP都会有请求网络,然后处理回调的业务吧. 如果请求的数据很多,业务越来越复杂,怎么处理呢? 这里我用到了RxJava来帮我处理业务. RxJava主要 ...

  9. 挂个AC自动机

    struct ACM{ ],f[N],cnt[N]; int sz,rt; int ins(char *s){ int n=strlen(s),u=rt; ;i<n;i++){ int c=s[ ...

  10. 亲手搭建一个基于Asp.Net WebApi的项目基础框架1

    目标:教大家搭建一个简易的前后端分离的项目框架. 目录: 1:关于项目架构的概念 2:前后端分离的开发模式 3:搭建框架的各个部分 这段时间比较闲,所以想把之前项目里用到的一些技术写到博客里来,分享给 ...