Excel 的基础用法。手工如何操作 Excel, python 学习手工如何操作Excel
手工操作 Excel 的流程
1, 打开Excel 文件 (路径 + 文件名)
2, 获取表单
3, 使用行号,和列号去确定需要读取的数据
4, 关闭文件
python 操作 Excel, 工具
-
openpyxl, 支持 xlsx 新型格式的读写, 读取速度还可以。
-
tablib, 支持多种格式读写。 xlsx, xls, csv, json, yaml, html, pd
-
xlrd, 经典的 Excel 读取库,
-
xlwt,
-
pandas, 功能强,太臃肿了
安装: pip install openpyxl
获取表单:
1,wb.active, 被选中,被激活
2,通过索引, wb.worksheets[索引]
3,通过sheet名字, wb[‘sheet_name’]
实例代码:
import
openpyxl
wb
=
openpyxl
.
load_workbook
(
r
'd:\cases.xlsx'
)
print
(
wb
)
print
(
wb
.
_sheets
)
active_sheet
=
wb
.
active
sheet
=
wb
.
worksheets
[
0
]
cell
=
sheet
.
cell
(
1
,
2
)
print
(
cell
)
print
(
cell
.
value
)
print
(
sheet
[
1
]
)
for
column
in
sheet
[
1
]
:
print
(
column
.
value
)
print
(
sheet
[
'A'
]
)
print
(
sheet
[
1
:
3
]
)
toal_data
=
list
(
sheet
.
rows
)
print
(
toal_data
)
for
row
in
toal_data
:
for
cell
in
row
:
print
(
cell
.
value
)
wb
.
save
(
r
'd:\cases.xlsx'
)
wb
.
close
(
)
对处理excel的功能进行封装成模块,对有需求处理表格的可以调用这个模块的功能:
excel_handler.py模块具有以下功能:
1、打开表单
2、读取标题 头部
3、读取所有的数据
4、指定单元格写入数据(使用静态方法,不要使用实例方法)
代码如下:
1、打开表单
2、读取标题 头部
3、读取所有的数据 (类型是)
4、指定单元格写入数据(使用静态方法,不要使用实例方法)
from
openpyxl
import
load_workbook
from
openpyxl
.
worksheet
.
worksheet
import
Worksheet
class
ExcelHandler
(
)
:
"""操作 Excel """
def
__init__
(
self
,
file
)
:
"""初始化函数"""
self
.
file
=
file
def
open_sheet
(
self
,
name
)
-
>
Worksheet
:
"""打开表单.
在函数或者方法的后面 加 -> 类型:表示此函数返回值是一个 这样的类型
函数注解。
wb
=
load_workbook
(
self
.
file
)
sheet
=
wb
[
name
]
wb
.
close
(
)
return
sheet
def
header
(
self
,
sheet_name
)
:
"""获取表单的表头"""
sheet
=
self
.
open_sheet
(
sheet_name
)
headers
=
[
]
for
i
in
sheet
[
1
]
:
headers
.
append
(
i
.
value
)
return
headers
def
read
(
self
,
sheet_name
)
:
"""读取所有的数据"""
sheet
=
self
.
open_sheet
(
sheet_name
)
rows
=
list
(
sheet
.
rows
)
data
=
[
]
for
row
in
rows
[
1
:
]
:
row_data
=
[
]
for
cell
in
row
:
row_data
.
append
(
cell
.
value
)
data_dict
=
dict
(
zip
(
self
.
header
(
sheet_name
)
,
row_data
)
)
data
.
append
(
data_dict
)
return
data
@
staticmethod
def
write
(
file
,
sheet_name
,
row
,
column
,
data
)
:
"""写入 Excel 数据"""
wb
=
load_workbook
(
file
)
sheet
=
wb
[
sheet_name
]
sheet
.
cell
(
row
,
column
)
.
value
=
data
wb
.
save
(
file
)
wb
.
close
(
)
if
__name__
==
'__main__'
:
excel
=
ExcelHandler
(
r
'd:\cases.xlsx'
)
excel
.
write
(
r
'd:\cases.xlsx'
,
'Sheet1'
,
5
,
1
,
'data_value'
)
dd
=
excel
.
read
(
"Sheet1"
)
print
(
dd
)
hh
=
excel
.
header
(
"Sheet1"
)
print
(
hh
)
(1)什么是xlrd模块?
python
操作
excel
主要用到xlrd和xlwt这两个库,即xlrd是读
excel
,xlwt是写
excel
的库。(2)为什么使用xlrd模块?在UI自动化或者接口自动化中
数据
维护是一个核心,所以此模块非常实用。xlrd模块可以用于读取
Excel
的
数据
,速度非常快,推荐使用!官方文档:https://xlrd.readthedocs.io/en/latest/1、常用单元格的
数据
类型empty(空的)numberdatebooleanerror。
今天工作时,写了一小段代码,大概功能就是比对
excel
里的
数据
与
数据
库里的
数据
差异,具体实现就是根据
excel
里维度列(就是sql中where后的部分)到
数据
库查找相应的值,然后写入到
excel
,并且跟
excel
里的相关值进行比对,查看是否有差异。
因为要操作
excel
,所以又温习了下
openpyxl
. 下面是访问
openpyxl
指定工作表(sheet)的5种方法:
from
openpyxl
import *
wb = load_workbook(r'test.xlsx')
print(wb._sheet
import xlrd# 01.打开
excel
文件,创建一个文件
数据
对象data = xlrd.open_workbook('/home/
python
/Desktop/
excel
/test1.xls')# print(data)# 02.获取一张表# table = data.sheets()[0] # 1.通过索引获取# table = data.sheet_by_index(0) # 2....
Python
处理
Excel
Python
可以很简介的
处理
数据
,又是可以代替
excel
做一些繁杂的工作。
Excel
有两种格式:XLS是Office 2013或更早版本所使用的格式,是一种二进制格式的文件。XLSX则是用一系列XML文件组成的(最后的X代表了XML)一个压缩包。1、工具包XlsxWriterxlrd&xlwt&xlutils
OpenPyXL
介绍可以创建和写
Excel
2007+ XLSX...