需要用到的库:
-
操作xls格式的表格文件:
读取:
xlrd
写入:
xlwt
修改(追加写入):
xlutils
操作 Excel 文件的实用工具,如复制、分割、筛选等 -
操作xlsx格式的表格文件:
读取/写入:
openpyxl
新建,写入内容,保存。
#coding=utf-8
import
xlwt
import
xlrd
try
:
# 创建excel文件
filename
=
xlwt
.
Workbook
(
)
# 给工作表命名,test
sheet
=
filename
.
add_sheet
(
"test"
)
# 写入内容,第4行第3列写入‘张三丰’
hello
=
u
'张三丰'
sheet
.
write
(
3
,
2
,
hello
)
# 指定存储路径,如果当前路径存在同名文件,会覆盖掉同名文件
filename
.
save
(
"D:/test1.xls"
)
except
Exception
,
e
:
print
(
str
(
e
)
)
简单的读取
#coding=utf-8
import
xlwt
import
xlrd
try
:
# 创建excel文件
filename
=
xlwt
.
Workbook
(
)
# 给工作表命名,test
sheet
=
filename
.
add_sheet
(
"test"
)
# 写入内容,第4行第3列写入‘张三丰’
hello
=
u
'张三丰'
sheet
.
write
(
3
,
2
,
hello
)
# 指定存储路径,如果当前路径存在同名文件,会覆盖掉同名文件
filename
.
save
(
"D:/test1.xls"
)
except
Exception
,
e
:
print
(
str
(
e
)
)
# 找到读取文件
filename
=
'D:/test1.xls'
# 打开excel文件
date
=
xlrd
.
open_workbook
(
filename
)
# 根据工作表名称,找到指定工作表 by_index(0)找到第N个工作表
sheet
=
date
.
sheet_by_name
(
'test'
)
# 读取第四行第三列内容,cell_value读取单元格内容,指定编码
value
=
sheet
.
cell_value
(
3
,
2
)
.
encode
(
'utf-8'
)
print
(
value
)
字典格式
import
xlwt
file
=
xlwt
.
Workbook
(
encoding
=
"utf8"
)
table
=
file
.
add_sheet
(
"data"
)
#字典数据
data
=
{
"1"
:
[
"张三"
,
150
,
120
,
100
]
,
"2"
:
[
"李四"
,
90
,
99
,
95
]
,
"3"
:
[
"王五"
,
60
,
66
,
68
]
}
ldata
=
[
]
# 对字典的遍历,其实是对‘键’的遍历
num
=
[
a
for
a
in
data
]
#for循环将data字典中的键和值分批的保存在ldata中
for
x
in
num
:
t
=
[
int
(
x
)
]
for
a
in
data
[
x
]
:
t
.
append
(
a
)
ldata
.
append
(
t
)
#将数据写入文件,i是enumerate()函数返回的序号数
for
i
,
p
in
enumerate
(
ldata
)
:
for
j
,
q
in
enumerate
(
p
)
:
table
.
write
(
i
,
j
,
q
)
file
.
save
(
"test.xls"
)