Python 操作Excel(xlrd和XlsxWrite)
文章目录
1. Python xlrd读取Excel
1.1安装xIrd与XlsxWrite模块库:
1.2 常用操作
1.3 Excel文件
1.4 代码
2.Python XIsxWrite :写excel文件
1. Python xlrd读取Excel
1.1安装xIrd与XlsxWrite模块库:
安装xlrd: pip install xlrd 或者 pip install xlrd==1.2.0 安装XlsxWrite:pip install XlsxWrite
注意:Python中xlrd模块库 2.0.1 版本不支持读取.xlsx文件 仅支持.xls文件
安装版本注意说明
xIrd模块读取excel内容:
xl = xlrd.open_workbook('test.xls') # 打开excel table = xl.sheets()[0] # 通过索引获取工作表 row = table.row_values(0) # 获取第一行内容 col = table.col_values(0) # 获取第一列整列内容 table.nrwos # 行数 table.ncols # 列数 table.cell(0, 0).value # 单元格值
1.2 常用操作
一、打开Excel
二、获取所有表名
三、通过索引获取sheet工作表(有三种方法)
四、行列操作
五、读取整个表
1.3 Excel文件
Excel如下
1.打开文件 xlrd.open_workbook(path) 2.获取所有表名 xl.sheet_names() 3.指定sheet表 xl. sheet_ by_ index(索引) 或者 xl.sheet_ by_ name(" sheet表名") 4.读取整个表
1.4 代码
# 导入模块 import xlrd # 一、打开Excel xl = xlrd.open_workbook('C:/Users/Administrator/Desktop/demov0810/test11.xlsx') print(xl) # 二、获取所有表名 sheet_name_list = xl.sheet_names() print(sheet_name_list) # 三、通过索引获取sheet工作表(有三种方法) # 1.通过索引获取-第一个sheet表格 table1 = xl.sheets()[0] print(table1) # 2.通过索引顺序获取 table2 = xl.sheet_by_index(0) # print(table2) # 3.通过sheet名称获取 table3 = xl.sheet_by_name("Sheet1") # print(table3) # 四、行列操作 # 常用1:获取sheet中有多少行和多少列 # 获取sheet中有效行数 row = table1.nrows print("总行数为:", row) # 获取sheet中有效列数 col = table1.ncols print("总列数为:", col) # 常用2:获取一行中有多少列数据 # 返回该行的有效单元格长度 num = table1.row_len(0) print("返回该行的有效单元格长度:", num) # 常用3:获取指定行或者列中所有的数据 # rowx表示是获取第几行的数据 # start_col表示从索引为多少开始,end_colx表示从索引为多少结束, # end_colx为None表示结束没有限制 # 获取指定行中的数据并以列表的形式返回 table_list_row = table1.row_values(rowx=0, start_colx=0, end_colx=None) print(table_list_row) # colx表示是获取第几列的数据 # start_rowx表示从索引为多少开始,end_rowx表示从索引为多少结束, # end_rowx为None表示结束没有限制 # 获取指定列中的数据并以列表的形式返回 table_list_col = table1.col_values(colx=0, start_rowx=0, end_rowx=None) print(table_list_col) print('-' * 50) # 五、读取整个表 for i in range(table1.nrows): print(table1.row_values(i))
执行结果: "D:\Program Files1\Python\python.exe" D:/Pycharm-work/pythonTest/打卡/0810.py <xlrd.book.Book object at 0x0000000002BA79B0> ['Sheet1', 'Sheet2', 'Sheet3'] <xlrd.sheet.Sheet object at 0x0000000002BD9DA0> 总行数为: 4 总列数为: 5 返回该行的有效单元格长度: 5 ['姓名', '年龄', '性别', '地址', '学习技能'] ['姓名', '张三', '李四', '赵五'] -------------------------------------------------- ['姓名', '年龄', '性别', '地址', '学习技能'] ['张三', 20.0, '女', '北京', 'python'] ['李四', 25.0, '男', '深圳', 'java'] ['赵五', 28.0, '男', '上海', 'C++'] Process finished with exit code 0