目录
Xlrd的使用方法总结
问题需求
- 打开Excel文件读取数据
- 获取的sheet名字、sheet索引、sheet内容
- 获取某个sheet的行数和列数
- 获取整行和整列的值(列表)
- 获取指定单元格的内容、数据类型
- 读取excel中单元格内容为日期的方式:打印时间、打印日期
实现代码
1. import xlrd 2. 3. # 打开Excel文件读取数据 4. workbook = xlrd.open_workbook('a.xlsx'); 5. 6. # 打印所有的sheet列出所有的sheet名字 7. print(workbook.sheet_names()) 8. 9. # 根据sheet索引或者名称获取sheet内容 10. Data_sheet = workbook.sheets()[0]; 11. # Data_sheet = workbook.sheet_by_index(1) 12. # Data_sheet = workbook.sheet_by_name(u'Charts') 13. 14. # 获取sheet名称、行数和列数 15. print(Data_sheet.name,Data_sheet.nrows,Data_sheet.ncols) 16. 17. 18. # 获取整行和整列的值(列表) 19. rows = Data_sheet.row_values(0) #获取第一行内容 20. cols = Data_sheet.col_values(1) #获取第二列内容 21. print(rows) 22. print(cols) 23. 24. # 获取单元格内容的数据类型 25. # (row,col)-->(行,列) # 相当于在一个二维矩阵中取值 26. cell_A1 = Data_sheet.cell(0,0).value # 第一行第一列坐标A1的单元格数据 27. # cell_C1 = Data_sheet.cell(0,2).value # 第一行第三列坐标C1的单元格数据 28. 29. # cell_B1 = Data_sheet.row(0)[1].value # 第1行第2列 30. # cell_D2 = Data_sheet.col(3)[1].value # 第4列第2行 31. 32. 33. 34. # 检查单元格的数据类型 35. # ctype的取值含义 36. # ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error 37. print(Data_sheet.cell(4,0).ctype) 38. 39. 40. # 读取excel中单元格内容为日期的方式 41. date_value = xlrd.xldate_as_tuple(Data_sheet.cell_value(4,0),workbook.datemode) 42. print(date_value) # -->(2017, 9, 6, 0, 0, 0) 43. print('%d:%d:%d' %(date_value[3:])) # 打印时间 44. print('%d/%02d/%02d' %(date_value[0:3])) # 打印日期 45.