【Python】Excel-3
1、 导入Excel模块:from openpyxl import Workbook
2、 创建Excel对象:wb=Workbook()
3、 创建sheet:ws1=wb.create_sheet(“name”)
4、 指定位置创建某个sheet:ws1=create_sheet(“name”,0)
5、 修改sheet名字:ws1.title=”new name”;中文名字ws1.title=u”new name”
6、 设定sheet背景属性ws1.sheet_properties_tabColor=”108888”
7、 获取某个sheet对象:wb[“sheet name”]
8、 获取全部sheet的名字:wb.sheetnames或wb.get_sheet_names() 返回的是一个list
9、 复制一个sheet:wb.copy_worksheet(wb[“sheet name”])
10、 给固定单元格赋值:
(1) ws1[“A1”]=3.1415
(2) ws1[“B2”]=”王某某”
(3) ws1.cell(row=4,column=2,value=10)
11、 获取某个单元格的值
(1) ws1[“A1”].value
(2) ws1.cell(row=4,column=2,value=10).value
12、 获取某一列的值
(1) ws1[“A”];ws1[“A:C”]为获取A到C列的值
(2) for cell in ws1[“A”]:print cell.value
13、 获取某几行的值
(1) ws1[1:3]
(2) for row in ws[1:3]:print row.value
14、 获取某几行几列的值
for row in ws1.iter_rows(min_row=1,min_col=1,max_col=3,max_row=3):
for cell in row:
print cell.value
15、 获取所有行:ws1.rows
16、 获取所有列ws1.columns
17、 保存Excel:wb.save(“e:\\test4\\sample.xlsx”)
18、 打开Excel文件:
import xlrd
data=xlrd.open_workbook(“e:\\test4\\sample.xlsx”)
19、 写入excel文件内容如果是中文不需要加”u”,创建sheet名称时如果是中文需要加”u”
#练习:创建一个excel,第一行是1,2,3,第二行是4,5,6,第三行是7,8,9,保存在磁盘上,然后并且把每一个值读出来,并输出
from openpyxl import Workbook
wb=Workbook()
ws1=wb.create_sheet(u"某某")
i=1
for m in range(1,4):
for n in range(1,4):
ws1.cell(row=m,column=n,value=i)
i+=1
for m in range(1,4):
for n in range(1,4):
print ws1.cell(row=m,column=n).value
for column in ws1["A:C"]:
for cell in column:
print cell.value
wb.save("e:\\test4\\s2.xlsx")
#练习:显示小数或百分数
from openpyxl import Workbook
from openpyxl import load_workbook
wb = load_workbook('e:\\test4\\s2.xlsx')
wb.guess_types = True
#这个的意思是只获取第一个sheet
ws=wb.active
ws["D1"]="12%"
print ws["D1"].value
wb.save("e:\\test4\\s2.xlsx")
#练习:
from openpyxl import Workbook
from openpyxl import load_workbook
wb = load_workbook('e:\\test4\\s2.xlsx')
ws=wb.active
rows=[]
for row in ws.iter_rows():
rows.append(row)
print rows #所有行,存的是每一行的对象
print rows[0] #获取第一行
print rows[0][0] #获取第一行第一列的单元格对象
print rows[0][0].value #获取第一行第一列的单元格对象的值
print rows[len(rows)-1] #获取最后行
print rows[len(rows)-1][len(rows[0])-1] #获取第后一行和最后一列的单元格对象
print rows[len(rows)-1][len(rows[0])-1].value #获取第后一行和最后一列的单元格对象的值
#练习:
from openpyxl import Workbook
from openpyxl import load_workbook
wb = load_workbook('e:\\test4\\s2.xlsx')
ws=wb.active
cols=[]
for col in ws.iter_cols():
cols.append(col)
print cols #所有列
print cols[0] #获取第一列
print cols[0][0] #获取第一列的第一行的单元格对象
print cols[0][0].value #获取第一列的第一行的值
print "*"*30
print cols[len(cols)-1] #获取最后一列
print cols[len(cols)-1][len(cols[0])-1] #获取最后一列的最后一行的单元格对象
print cols[len(cols)-1][len(cols[0])-1].value #获取最后一列的最后一行的单元格对象的
#练习:判断类型
from openpyxl import Workbook
from openpyxl import load_workbook
import datetime
wb = load_workbook('e:\\test4\\s2.xlsx')
ws=wb.active
wb.guess_types = True
ws["A1"]=datetime.datetime(2010, 7, 21)
print ws["A1"].number_format
ws["A2"]="12%"
print ws["A2"].number_format
ws["A3"]= 1.1
print ws["A4"].number_format
ws["A4"]= "中国"
print ws["A5"].number_format
# Save the file
wb.save('e:\\test4\\s2.xlsx')
#练习:Excel中用公式
from openpyxl import Workbook
from openpyxl import load_workbook
wb = load_workbook('e:\\test4\\s2.xlsx')
ws1=wb.active
ws1["A1"]=1
ws1["A2"]=2
ws1["A3"]=3
ws1["A4"] = "=SUM(1, 1)"
ws1["A5"] = "=SUM(A1:A3)" #这里打印的是Excel的公式,而不是公式计算后的结果
print ws1["A4"].value #打印的是公式内容,不是公式计算后的值,程序无法取到计算后的值
print ws1["A5"].value #打印的是公式内容,不是公式计算后的值,程序无法取到计算后的值
# Save the file
wb.save('e:\\test4\\s2.xlsx')
#练习:合并单元格
from openpyxl import Workbook
from openpyxl import load_workbook
wb = load_workbook('e:\\test4\\s2.xlsx')
ws1=wb.active
from openpyxl.workbook import Workbook
wb = Workbook()
ws = wb.active
ws.merge_cells('A2:D2') #合并单元格,值不保留
#ws.unmerge_cells('A2:D2') #不合并单元格
# or equivalently
ws.merge_cells(start_row=2,start_column=1,end_row=2,end_column=4)
#ws.unmerge_cells(start_row=2,start_column=1,end_row=2,end_column=4)
# Save the file
wb.save('e:\\test4\\s2.xlsx')
#练习:隐藏列
from openpyxl import load_workbook
from openpyxl.drawing.image import Image
wb = load_workbook('e:\\test4\\s2.xlsx')
ws1=wb.active
ws1.column_dimensions.group('A', 'D', hidden=True) #隐藏a到d列范围内的列
# Save the file
wb.save('e:\\test4\\s2.xlsx')
#练习:生成柱状图
from openpyxl import load_workbook
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference, Series
wb = load_workbook('e:\\test4\\s2.xlsx')
ws1=wb.active
wb = Workbook()
ws = wb.active
for i in range(10):
ws.append([i])
values = Reference(ws, min_col=1, min_row=1, max_col=1, max_row=10)
chart = BarChart()
chart.add_data(values)
ws.add_chart(chart, "E15")
# Save the file
wb.save('e:\\test4\\s2.xlsx')
【Python】Excel-3的更多相关文章
- 【Python】excel读写操作 xlrd & xlwt
xlrd ■ xlrd xlrd模块用于读取excel文件内容 基本用法: workbook = xlrd.open_workbook('文件路径') workbook.sheet_names() # ...
- 【Python】Excel操作-2 (07版本以下Excel操作,其实不怎么用了,麻蛋,预习了2天课间才发现,还说怎么跟老师讲的不一样)
#保存修改Excel import xlrd from xlutils.copy import copy #打开Excel文档并将内容读取到内存 readbook=xlrd.open_workbook ...
- 【Python】Excel操作-1
#练习:创建Excel 如果要创建的Excel已经存在并打开,会报错 from openpyxl import Workbook wb=Workbook() #创建文件对象 ws=wb.active ...
- 【Python】Excel数据处理
1.环境准备 > python2.7 > xlrd,xlwt模块下载与安装,前者用来读取excel文件,后者用来写入excel文件 2.实战案例 案例场景: > excel1中包含某 ...
- 【Python】Excel处理
1.包导入 from openpyxl import Workbook from openpyxl import load_workbook from openpyxl.compat import r ...
- 【Python②】python之首秀
第一个python程序 再次说明:后面所有代码均为Python 3.3.2版本(运行环境:Windows7)编写. 安装配置好python后,我们先来写第一个python程序.打开IDLE (P ...
- 【python】多进程锁multiprocess.Lock
[python]多进程锁multiprocess.Lock 2013-09-13 13:48 11613人阅读 评论(2) 收藏 举报 分类: Python(38) 同步的方法基本与多线程相同. ...
- 【python】SQLAlchemy
来源:廖雪峰 对比:[python]在python中调用mysql 注意连接数据库方式和数据操作方式! 今天发现了个处理数据库的好东西:SQLAlchemy 一般python处理mysql之类的数据库 ...
- 【python】getopt使用
来源:http://blog.chinaunix.net/uid-21566578-id-438233.html 注意对比:[python]argparse模块 作者:limodou版权所有limod ...
- 【Python】如何安装easy_install?
[Python]如何安装easy_install? http://jingyan.baidu.com/article/b907e627e78fe146e7891c25.html easy_instal ...
随机推荐
- PY3 多组输入
在c语言你能使用while(scanf(“%d”,x) !=EOF)判断输入是否碰到文件结束符(EOF). 但是在python你不能使用while((x=input())!=EOF). 这有两种方法可 ...
- hdu1569-方格取数-二分图网络流
方格取数(2) Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- java生成word的几种方案
http://blog.sina.com.cn/s/blog_a5e968370101crtl.html 1. Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建 ...
- ResouceUtils.getFile()取不到Jar中资源文件源码小结
Spring提供了一个工具类可以加载classpath下的文件,一般情况下无任何问题,但是当它作为公共的jar包中的工具来加载jar包中的文件时则报出找不到文件的错误. 点开看了一下这个工具类Reso ...
- Win10系列:UWP界面布局进阶8
StackPanel StackPanel能够以水平或垂直的方式整齐地排列位于其内部的元素.通过设置StackPanel的Orientation属性可以定义内部元素的排列方式,当将Orientatio ...
- Win10系列:UWP界面布局进阶7
Canvas Canvas元素用于定义一个区域,可以向这个区域中添加不同的XAML界面元素.Canvas会对其内部的元素采用绝对布局方式进行布局,下面通过三个示例来介绍Canvas的使用方法. (1) ...
- day03 is 与== 常量
is身份运算:比较的是id是否相等 ==判断值是否相等 ... 值相等id不一定相等 >>>x=1111111111111111111111111111111111111111111 ...
- Linux查看当前使用的网卡 以及 查看某进程使用的网络带宽情况 以及 端口占用的情况
一:Linux查看当前使用的网卡 ifconfig命令可以查看当前linux 系统有多少个网卡. [app@p2-app2 ~]$ ifconfig br-2e5b046a02d5: ...
- > Raiders 项目配置
VS2010 新建一个工程,把 源码目录\Source\T3DIICHAP01中的*.h 和*.cpp文件都拷到新工程中并添加 双击 源码目录\DirectX \ dx9sdkcp.exe会自动解 ...
- Linux学习 :移植U-boot_2012.04.01到JZ2440开发板
一.下载U-boot源码:ftp://ftp.denx.de/pub/u-boot/ 二.uboot的启动过程: 部分硬件初始化——>加载完整uboot到RAM——>跳转到第二阶段入口开始 ...