| 数值 | 类型 | 说明 |
|---|---|---|
| 0 | empty | 空 |
| 1 | string | 字符串 |
| 2 | number | 数字 |
| 3 | date | 日期 |
| 4 | boole | 布尔值 |
| 5 | error | 错误 |
代码
import xlrd
# 打开 xls文件
wb = xlrd.open_workbook("example-2021-03-09.xls")
# 获取并打印 sheet 数量
print("sheet 数量:", wb.nsheets) # sheet 数量: 2
# 获取并打印 sheet 名称
print("sheet 名称:", wb.sheet_names()) # sheet 名称: ['Score Sheet', 'Record Test Sheet']
# 根据 sheet 索引获取内容
sh1 = wb.sheet_by_index(0)
# 或者
# 也可根据 sheet 名称获取内容
# sh = wb.sheet_by_name('Score Sheet')
# 获取并打印该 sheet 行数和列数
print(u"sheet: %s表单 共 %d 行 %d 列" % (sh1.name, sh1.nrows, sh1.ncols)) # sheet: Score Sheet表单 共 4 行 8 列
# 获取并打印某个单元格的值
print("第一行第二列的值为:", sh1.cell_value(0, 1)) # 第一行第二列的值为: 班级
# 获取整行或整列的值
row_info = sh1.row_values(0) # 获取第一行内容
col_info = sh1.col_values(1) # 获取第二列内容
# 打印获取的行列值
print("第一行的值为:", row_info) # 第一行的值为: ['时间', '班级', '姓名', '语文', '数学', '英语', '理综', '总分']
print("第二列的值为:", col_info) # 第二列的值为: ['班级', '高三三班', '高三三班', '高三三班']
# 获取单元格内容的数据类型,注意这里的值 另有含义
print("第二行第一列的【值类型】为:", sh1.cell(1, 0).ctype) # 第二行第一列的【值类型】为: 3
# 遍历所有表单内容
for sh in wb.sheets():
for r in range(sh.nrows):
# 输出指定行内容,这里包含原有类型指定,不能直接获取到指定列的值
row_val_list = sh.row(r)
print(row_val_list)
# [text:'时间', text:'班级', text:'姓名', text:'语文', text:'数学', text:'英语', text:'理综', text:'总分']
# 遍历行内,输出当前行内的所有列值
col_val_list = [col_val.value for col_val in row_val_list]
print(col_val_list)
修改 Excel 是通过 xlutils 库的 copy 方法将原来的 Excel 整个复制一份,然后再做修改操作,最后再保存
修改前

修改后

上代码
import xlrd
from xlutils.copy import copy
# 打开 excel 文件, 带格式复制
read_book = xlrd.open_workbook("example-2021-03-09.xls", formatting_info=True)
# 复制一份
wb = copy(read_book)
# 选取第一个表单
sh1 = wb.get_sheet(0)
# 在第五行新增写入数据
sh1.write(4, 0, '2020-12-16')
sh1.write(4, 1, '高三三班')
sh1.write(4, 2, '小鱼仙倌儿')
sh1.write(4, 3, 150)
sh1.write(4, 4, 150)
sh1.write(4, 5, 150)
sh1.write(4, 6, 300)
# 选取第二个表单
sh2 = wb.get_sheet(1)
# 替换总成绩数据
sh2.write(1, 2, 100)
# 保存
wb.save('example-2021-03-09.xls')
注意,复制 xls这里有格式问题
似乎没有任何简单的方法可以保留单元格的格式;它总是被吹走并设置为空白。
https://www.coder.work/article/80896
https://zhuanlan.zhihu.com/p/128674458
附录
参考:http://www.ityouknow.com/python/2019/12/29/python-excel-103.html
官网:http://www.python-excel.org/
到此这篇关于python读写修改Excel之xlrdxlwtxlutils的文章就介绍到这了,更多相关python读写修改Excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
标签:西宁 梅州 锡林郭勒盟 怀化 石家庄 昆明 浙江 文山
巨人网络通讯声明:本文标题《python读写修改Excel之xlrd&xlwt&xlutils》,本文关键词 python,读写,修改,Excel,之,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。