查看: 11|回复: 0

【原】Python中利用openpyxl读取Excel文件

[复制链接]

23万

主题

23万

帖子

69万

积分

论坛元老

Rank: 8Rank: 8

积分
695334
发表于 6 天前 | 显示全部楼层 |阅读模式
 

 

  • 读取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取值,方法相同类似,包括扩展怎么取值,取值以后如何展示,这个看自己的需求。
  • 最后的最后,读出来的数据如图:

    [/ol]
  •  

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ| Archiver|手机版|小黑屋| 师哈哈 |网站地图

    Copyright © 2019-2025 Www.biiyy.Com.   All Rights Reserved.

    Powered by Discuz! X3.4( 苏ICP备14049462-3号 )