读取工作表
import xlrd # 导入xlrd库
wb = xlrd.open_workbook(r'excle.xlsx') # 读取文件
all_ws1 = wb.sheets() # 读取文件中所有表
all_ws2 = wb.sheet_names() # 读取文件中所有表的名称
ws1 = wb.sheet_by_index(0) # 用索引值读取工作表-方法1
ws2 = wb.sheets()[1] # 用索引值读取工作表-方法2
ws3 = wb.sheet_by_name('Sheet1') # 用名称读取工作表-方法3
ws4 = xlrd.open_workbook(r'excel.xlsx').sheet_by_name('Sheet1') # 直接通过文件读取工作表-方法4
方法1
通过索引来读取,索引值为0表示第一个表,读取后会将表中所有内容存到变量ws1中
方法2
也是通过索引进行读取,写法有所不同,先读取所有的表然后通过索引选中是第几个表,可以把wb.sheets()
看成一个数组名
方法3
直接通过名称去读取,不用考虑顺序,默认表格的名称一般是Sheet1
方法4
就是把读取文件和表格写到一起了,看着相对有些乱
读取Excel行、列、单元格信息
import xlrd
wb = xlrd.open_workbook(r'excel.xlsx')
ws = wb.sheet_by_name('Sheet1')
row_count = ws.nrows # 返回已使用行数
col_count = ws.ncols # 返回已使用列数
row_obj = ws.row(1) # 返回指定行已使用的单元格对象
row_val = ws.row_values(1) # 返回指定行已使用的单元格的值
col_obj = ws.col(0) # 返回指定列已使用的单元格对象
col_val = ws.col_values(0) #返回指定列已使用的单元格的值
cell_obj = ws.cell(3,1) # 返回指定单元格对象
cell_val = ws.cell_value(3,1) # 返回指定单元格的值
变量 | 值 |
---|---|
row_count | 4 |
col_count | 2 |
row_obj | [text:'Darkgreen', number:98.0] |
row_val | ['Darkgreen', 98.0] |
col_obj | [text:'姓名', text:'Darkgreen', text:'skyline', text:'花落的那一天'] |
col_val | ['姓名', 'Darkgreen', 'skyline', '花落的那一天'] |
cell_obj | number:99.0 |
cell_val | 99.0 |
python中序号以0开始,比excel中的行号列号小1