博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python_Openpyxl 简单说明
阅读量:4549 次
发布时间:2019-06-08

本文共 2905 字,大约阅读时间需要 9 分钟。

Openpyxl 简单说明

1、 安装

pip install openpyxl==2.5.4

想要在文件中插入图片文件,需要安装pillow,安装文件PIL-fork-1.1.7.win-amd64-py2.7.exe

 

2、 创建一个excel 文件,并写入不同类的内容

 

# -*- coding: utf-8 -*-

import locale
from openpyxl import Workbook
wb = Workbook()    #创建文件对象
# grab the active worksheet
ws = wb.active     #获取第一个sheet
# Data can be assigned directly to cells
ws['A1'] = 42      #写入数字
ws['B1'] = "光荣之路"+"automation test" #写入中文
# Rows can also be appended
ws.append([1, 2, 3])    #写入多个单元格
wb.save("e:\\a.xlsx")

 

3、单元格写入时间

import datetime

import time
import locale
wb = Workbook()
ws = wb.active 
ws['A2'] = datetime.datetime.now()    #写入一个当前时间
#写入一个自定义的时间格式
locale.setlocale(locale.LC_CTYPE, 'chinese')
ws['A3'] =time.strftime("%Y年%m月%d日 %H时%M分%S秒",
time.localtime())
# Save the file
wb.save("e:\\sample.xlsx")

9、多个sheet

from openpyxl import Workbook

wb = Workbook()
ws = wb.create_sheet("Mysheet1") 
ws1 = wb.create_sheet("Mysheet") 

 

 

ws1.title = "New Title"  

ws2 = wb.create_sheet("Mysheet", 0)        #设定sheet的插入位置

ws2.title = u"光荣之路自动化测试培训"

 

ws1.sheet_properties.tabColor = "1072BA" #设定颜色码

#获取某个sheet对象

print (wb["光荣之路自动化测试培训"])
print (wb["New Title" ])

 

 

 

 

print (wb.sheetnames)

for sheet_name in wb.sheetnames:

    print (sheet_name)

 

 

for sheet in wb:

    print (sheet)

 

 

wb["New Title" ]["A1"]="gloryroad"

 

 

#复制一个sheet

wb["New Title" ]["A1"]="gloryroad"

source = wb["New Title" ]

target = wb.copy_worksheet(source)

 

# Save the file

wb.save("e:\\sample.xlsx")

 

 

del wb["New Title" ]

 

 

#复制一个sheet

wb["New Title" ]["A1"]="gloryroad"
source = wb["New Title" ]
target = wb.copy_worksheet(source)
target.title="New copy Title"
del wb["New Title" ]
# Save the file
wb.save("e:\\sample.xlsx")

 

 

**********************************

10、读取某个单元格的值

# -*- coding: utf-8 -*-

from openpyxl import Workbook
wb = Workbook()
ws1 = wb.create_sheet("Mysheet")           #创建一个sheet
ws1["A1"]=123.11
ws1["B2"]="光荣之路"
d = ws1.cell(row=4, column=2, value=10)
print (ws1["A1"].value)
print (ws1["B2"].value)
print (d.value)
print (ws1.cell(row=4,column=2).value)
# Save the file
wb.save("e:\\sample.xlsx")

 

#打印最大行号,最大列号

print(ws1.max_row,ws1.max_column)

print(ws1.min_row,ws1.min_column)

 

 

 

11、遍历每个单元格

 

 

12、通过制定有效范围取值

print ("*"*50)

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)

13print自动调用str,交互模式自动调用repr方法

>>> class P:

...     def __str__(self):

...         return "zhenzhen"

...     def __repr__(self):

...         return "huanghuang"

...

>>> p =P()

>>> p

huanghuang

>>> print(p)

zhenzhen

>>> repr(p)

'huanghuang'

 

14、获取所有行列

#获取所有行

print (ws1.rows)
for row in ws1.rows:
    print (row)
print ("*"*50)
#获取所有列
print (ws1.columns)
for col in ws1.columns:
    print (col)

15、百分比

# -*- coding: utf-8 -*-

from openpyxl import Workbook
from openpyxl import load_workbook
wb = load_workbook('e:\\sample.xlsx')
wb.guess_types = False
ws=wb.active
ws["D1"]="12%"#false是百分比,true是小数
print (ws["D1"].value)
# Save the file
wb.save("e:\\sample.xlsx")

转载于:https://www.cnblogs.com/rychh/articles/10165745.html

你可能感兴趣的文章
GitHub for Windows提交失败“failed to sync this branch”
查看>>
linux 安装 git
查看>>
Margin
查看>>
完成登录与注册页面的前端
查看>>
centos 源码安装php7
查看>>
Log4j详细教程
查看>>
UVa-1368-DNA序列
查看>>
ConfigParser模块
查看>>
如何开发优质的 Flutter App:Flutter App 软件测试指南
查看>>
决胜Flutter 第一章 熟悉战场
查看>>
如何开发优质的 Flutter App:Flutter App 软件调试指南
查看>>
决胜经典算法之冒泡排序
查看>>
决胜经典算法之选择排序
查看>>
单元格数据类型
查看>>
mysql表设计---时间类型
查看>>
wamp服务器
查看>>
Codeforces 1144G Two Merged Sequences dp
查看>>
STL内存分配方式
查看>>
NS2移动节点
查看>>
python学习之路(十一)
查看>>