python学习之路-excel操作-读取excel

最近需要将excel的数据导入到mysql中,用java写比较麻烦,用python导入操作更加方便,对office的版本兼容性很强。

依赖包

import xlrd

具体方法及相关解释

def readExcel(path):
    #为文件地址xls和xlsx均可以
    try:
        # 获取excel工作簿
        book = xlrd.open_workbook(path)
        print(sys.getsizeof(book))
        return book
    except Exception as e:
        print(e)
        print("open excel file failed!")
    #获取excel所有sheet表名
    sheets = book.sheet_names()
    # 通过表名打开表
    for sheet in sheets:
        sh = book.sheet_by_name(sheet)
        #打开表后获取所有行列
        rows = sh.nrows
        #循环遍历获取每行的值
        for row in rows:
        # for row in range(1,rows) 从第二行开始获取对应一些有标题情况 
        #这里的row_data 是个list 对应该行所有的列值
            row_data = sh.row_values(row)

注意

         在实际使用过程中,会发现python的xlrd可以直接读取xls或者xlsx,但是会遇到一种伪xls文件是无法读取的,这种伪xls一般是xml转的xls 或者是html 传的xls,一般打开会显示扩展名与文件不符,是否继续打开,你用nodepad++ 打开得到的是如图一信息,而不是图二

               python学习之路-excel操作-读取excel

                                                                                       图1 伪xls文件

                                python学习之路-excel操作-读取excel

                                                                                      图2 正经的xls文件

       目前针对这种情况,网上尝试了一下寻找解决办法,但是基本行不通,所以我的办法就是只能手动打开伪xls文件,另存为真正的xls文件,如果有好办法的伙伴们,可以告诉我一下。