分享

Python中利用openpyxl读取Excel文件

 糖糖落 2019-03-28
  1. 读取excel文件需用到openpyxl,python中可直接安装,方法如下:

    方法1:进入cmd命令进入所在工程下Scripts中执行:pip install openpyxl

    方法2:利用pycharm进入setting中,如图所示:


  2. excel文件如下:需要将学生的成绩信息读出来

  3. 代码如下:

    #coding=utf-8
    import openpyxl
    '''
    如果只是importopenpyxl,直接用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('该表格共有%dsheet格分别为:%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...正在打印第%dsheet数据...' % (k+1))
    print('此为第%dsheet,共有%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) #其他功能自己拓展,怎么取值。之类的。。。

  4. 注意事项(一定要注意注意注意!!!!!!!)

    ①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取值,方法相同类似,包括扩展怎么取值,取值以后如何展示,这个看自己的需求。

  5. 最后的最后,读出来的数据如图:

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多