在我们做平常工作中都会遇到操作excel,那么今天写一篇,如何通过python操作excel,当然python操作excel的库有很多,比如pandas,xlwt/xlrd,openpyxl等,每个库都有不同的区别,具体的区别,大家一起研究下哈。
xlrd模块
xlrd是对于Excel进行读取,xlrd 操作的是xls/xlxs格式的excel
安装
xlrd是python的第3方库,需要通过pip进行安装
pip install xlrd
读取excel数据
1、导入xlrd莫款
2、打开Excel完成实例化
3、通过下标获取对应的表(可以通过表名获取)
4、通过列,行或者坐标获取表格的数据
# coding:utf-8 import xlrd # excel路径 excle_path = r'E:123.xlsx' # 打开excel读取文件 data = xlrd.open_workbook(excle_path) # 根据sheet下标选择读取内容 sheet = data.sheet_by_index(1) # 获取到表的总行数 nrows = sheet.nrows for i in range(nrows): print(sheet.row_values(i))
上面的是通过表的下标来选择读取的,当我们知道表的名称的时候,也可以通过表的名称进行读取
# coding:utf-8 import xlrd # excel路径 excle_path = r'E:123.xlsx' # 打开excel读取文件 data = xlrd.open_workbook(excle_path) # 根据sheet下标选择读取内容 sheet = data.sheet_by_index(1) # 获取全部表的名称 sheet_names = data.sheet_names() print('全部表名称') print(sheet_names) # 根据sheet名称选择读取内容 sheet1 = data.sheet_by_name('姓名') # 获取到表的总行数 nrows1 = sheet.nrows print('姓名表内容:') for j in range(nrows1): print(sheet1.row_values(j))
上面通过下标和名称都成功读取出来了数据,我们通过坐标来读取数据
# coding:utf-8 import xlrd # excel路径 excle_path = r'E:123.xlsx' # 打开excel读取文件 data = xlrd.open_workbook(excle_path) # 根据sheet下标选择读取内容 sheet = data.sheet_by_index(1) # 通过坐标读取 A1 = sheet.cell_value(1,0) print(A1)
xlrd中的其他用法
1、读取sheet的行数、列数
# excel路径 excle_path = r'E:123.xlsx' # 打开excel读取文件 data = xlrd.open_workbook(excle_path) # 读取sheet行数据,通过下标获取 a = sheet.row_values(1) # 读取sheet列数据,通过下标获取 b = sheet.col_values(1)
2、获取sheet的行数,列数
# coding:utf-8 import xlrd # excel路径 excle_path = r'E:123.xlsx' # 打开excel读取文件 data = xlrd.open_workbook(excle_path) # 根据sheet下标选择读取内容 sheet = data.sheet_by_index(1) print('sheet名称:{} sheet列数: {} sheet行数: {}'.format(sheet.name, sheet.ncols, sheet.nrows))
xlwt模块
xlwt是对于Excel进行读取,xlwt操作的是xls格式的excel
安装
xlwt属于python的第3方库,需要通过pip进行安装
pip install xlwt
写入Excel数据
1、首先导入xlwt第3方库
2、创建一个workbook模块,相当于创建一个xlwt文件
3、通过add_sheet创建一个表格
4、使用write函数进行对表完成写的操作
5、把写完的数据导入到Excel中
# coding:utf-8 import xlwt # excel路径 excle_path = r'E:1234.xls' # 创建一个Workbook模块 data = xlwt.Workbook(encoding='utf-8') # 创建一个表格,cell_overwrite_ok=True 为不覆盖表,默认为False sheet = data.add_sheet('test123',cell_overwrite_ok=True) # 写入坐标为(0,0)内容为职位 sheet.write(0,0,'职位') # 写入坐标为(1,0)内容为软件测试工程师 sheet.write(1,0,'软件测试工程师') # 保存到excel中 data.save(excle_path)
找到excel的路径中打开查看,发现已经写入成功了
Xlwt的其他方法
其中xlwt这些操作Excel只是默认的方法,xlwt也可以更改写入内容的文字大小,颜色等操作
style = xlwt.XFStyle() # 初始化样式 font = xlwt.Font() # 创建字体 font.name = u'微软雅黑' # 字体类型 font.colour_index = 6 #字体颜色 font.underline = True #下划线 font.italic = True # 斜体 font.height = 400 #字体大小 200等于excel字体大小中的10 style.font = font #设定样式
如果哪些内容写入时需要更改上面的格式内容,可以在书写的后面加上方法
给大家举个小栗子
# coding:utf-8 import xlwt # excel路径 excle_path = r'E:12314.xls' # 创建一个Workbook模块 data = xlwt.Workbook(encoding='utf-8') style = xlwt.XFStyle() # 初始化样式 font = xlwt.Font() # 创建字体 font.name = u'微软雅黑' # 字体类型 font.colour_index = 6 # 字体颜色 font.underline = True # 下划线 font.italic = True # 斜体 font.height = 400 # 字体大小 200等于excel字体大小中的10 style.font = font # 设定样式 # 创建一个表格,cell_overwrite_ok=True 为不覆盖表,默认为False sheet = data.add_sheet('test123',cell_overwrite_ok=True) # 写入坐标为(0,0)内容为职位 sheet.write(0,0,'职位',style) # 写入坐标为(1,0)内容为软件测试工程师 sheet.write(1,0,'软件测试工程师',style) # 保存到excel中 data.save(excle_path)
当然python操作Excel的方法不仅仅是这么多,还有更多的骚操作,等到我们用到的时候在一起学习哈
感觉安静写的对您有帮助的话,可以点个关注,持续更新中~~