读取excel文件需用到openpyxl,python中可直接安装,方法如下: 方法1:进入cmd命令进入所在工程下Scripts中执行:pip install openpyxl 方法2:利用pycharm进入setting中,如图所示:
excel文件如下:需要将学生的成绩信息读出来 代码如下: #coding=utf-8 import openpyxl ''' 如果只是import了openpyxl,直接用openpyxl.load_wordbook, 如果直接from...import..可以直接用load_workbook from openpyxl import workbook from openpyxl import load_workbook from openpyxl.writer.excel import ExcelWriter ''' wb = openpyxl.load_workbook(r'C:\Users\user\Desktop\学生成绩表.xlsx') #读excel sheetnames = wb.get_sheet_names() #获取sheetname print('该表格共有%d个sheet格分别为:%s'%(len(sheetnames),sheetnames))
for k in range(0, len(sheetnames)): ws = wb.get_sheet_by_name(sheetnames[k]) #获取sheet中的数据
rows = ws.max_row #获取该sheet中行数最大的值 columns = ws.max_column #获取该sheet中列数最大的值 if rows-1 == 0 and columns-1 == 0: #sheet中的行数列数为空时不打印。 break else: print(' loading...正在打印第%d个sheet数据...' % (k+1)) print('此为第%d个sheet,共有%d行,%d列' % (k+1, rows-1, columns))
for i in range(3, rows+1): #遍历sheet中的值 core_list = [] for j in range(1, columns+1): str = ws.cell(i, j).value core_list.append(str)
print(core_list) #其他功能自己拓展,怎么取值。之类的。。。 注意事项(一定要注意注意注意!!!!!!!) ①openpyxl.load_workbook(r'C:\Users\user\Desktop\学生成绩表.xlsx')中要加r,要不然会报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX esc 这个是由于转义符影响的,报错的具体信息可以自己查看 ②遍历时注意for的边界值,如果rows和columns不加1,最后一列和最后一行遍历不到容易丢失数据。 ③可以遍历不同的sheet取值,方法相同类似,包括扩展怎么取值,取值以后如何展示,这个看自己的需求。 最后的最后,读出来的数据如图:
|