IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python操作Excel方法汇总(一) -> 正文阅读

[Python知识库]python操作Excel方法汇总(一)

1.利用xlrd模块读取

xlrd模块可以读取(.xls)或者(.xlsx)文件中的内容,以下是基本使用介绍:
我们提前在文件夹中建好了文件:data1.xls,其中内容如下图:
在这里插入图片描述
导入库:

import xlrd

打开文件:

data = xlrd.open_workbook('data1.xls')#文件名或路径名,若含有中文需要加r

获取一个工作表:

table = data.sheet_by_name('mysheet1')
'''
获取工作表的方式除了上述通过名称获取的方式外,还有以下两种:
table = data.sheets()[0]
table = data.sheet_by_index(sheet_indx)
'''

获取一个工作表后,可以对其中的行、列或单元格进行操作,如下:
对行的操作:

nrows = table.nrows#获取该表中的行数
table.row(i)#获取第i行所有单元格对象组成的列表
table.row_values(i,start_colx=0,end_colx=None)#获取第i行所有单元格的数据组成的列表
table.row_len(i)#获取第i行有多少个数据

以第0行为例,后三种命令的结果为:
在这里插入图片描述
对列的操作与对行的操作类似,将上述代码中的row替换为col即可
如执行命令:

print(table.col_values(0))

结果为:
在这里插入图片描述

对单元格的操作:

table.cell(rowx,colx)#获取该单元格对象
table.cell_value(rowx,colx)#获取该单元格数据

2.利用xlwt模块写入等操作

xlwt可以用于创建新的.xls表格,或者在原表格基础上写入新的内容

创建新表格并写入

文件夹初始状态:
在这里插入图片描述
执行以下代码:

import xlwt

workbook = xlwt.Workbook(encoding=ascii)#创建文件

worksheet = workbook.add_sheet('my new sheet')#创建工作表,输入sheet名称

for i in range(10):
    for j in range(10):
        worksheet.write(i,j,i+j)#写入内容,输入行号、列号、单元格内容

workbook.save('data2.xls')#保存

文件夹状态:
在这里插入图片描述
可以看到data2.xls已经存入,我们将其打开后如图:
在这里插入图片描述
即成功写入内容

更改字体格式

执行以下代码

worksheet.write(0,0,'字体示例1')

style = xlwt.XFStyle()#初始化
font = xlwt.Font()
font.name = '黑体'#字体
font.bold = True#加粗
font.underline = True#下划线
font.italic = True#斜体
style.font = font#应用

worksheet.write(1,1,'字体示例2',style)

结果如图:
在这里插入图片描述
对比默认字体格式可知,示例2应用了自定义字体。

更改单元格格式

对单元格格式的更改主要是设置列宽、行高、边框、填充以及合并单元格
设初始命令为:

worksheet.write(10,10,'00000000000')

结果为:
在这里插入图片描述
下面进行各种单元格格式改变:

#更改列宽:
worksheet.col(10).width = 256*20

#更改行高:
style = xlwt.easyxf('font:height 360;')# 18pt,类型小初的字号
row = worksheet.row(10)
row.set_style(style)

#设置边框:
borders = xlwt.Borders()
'''
边框样式:
DASHED 虚线
NO_LINE 没有
THIN 细实线
THICK 粗实线
……
'''
borders.left = xlwt.Borders.DASHED
borders.right = xlwt.Borders.DASHED
borders.top = xlwt.Borders.THIN
borders.bottom = xlwt.Borders.THICK
  
style = xlwt.XFStyle()  
style.borders = borders
worksheet.write(5,5,'边框',style)

#设置填充色:
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = 2
'''
颜色对应数字:
0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow,
6 = Magenta, 7 = Cyan, 16 = Maroon, 17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow ,
almost brown), 20 = Dark Magenta, 21 = Teal, 22 = Light Gray, 23 = Dark Gray
'''
style = xlwt.XFStyle()
style.pattern = pattern
worksheet.write(3,3,'填充',style)

#合并单元格:
worksheet.write_merge(6,7,7,9,'合并单元格')#合并6-7行,7-9列

#单元格对齐方式:
al = xlwt.Alignment()
al.horz = 0x02  # 设置水平居中
al.vert = 0x01  # 设置垂直居中
'''
可用对齐方式:
VERT_TOP = 0x00       上端对齐(垂直方向上)
VERT_CENTER = 0x01    居中对齐(垂直方向上)
VERT_BOTTOM = 0x02    低端对齐(垂直方向上)
HORZ_LEFT = 0x01      左端对齐(水平方向上)
HORZ_CENTER = 0x02    居中对齐(水平方向上)
HORZ_RIGHT = 0x03     右端对齐(水平方向上)
'''
style = xlwt.XFStyle()
style.alignment = al
worksheet.write(2,1, "对齐方式",style)

结果:
在这里插入图片描述

综上,运用xlrd、xlwt两个模块即可完成对excel的基本读写操作。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-01-16 13:00:43  更:2022-01-16 13:02:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:26:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码