读取 exl 文件卡住不动,不继续往下运行

简单说明

这里只是介绍一种情况,也可以联想其它类似情况,再想办法处理。

1. 问题详情

有的业务系统导出来的 exl 文件,可能不是正常的.xls 或.xlsx 文件,如下图,文件为.xls 文件
读取 exl 文件卡住不动,不继续往下运行

打开后却会提示格式不匹配
读取 exl 文件卡住不动,不继续往下运行

打开后的 exl 内容如下图
读取 exl 文件卡住不动,不继续往下运行

使用文本工具编辑此文件可发现为网页表格代码
读取 exl 文件卡住不动,不继续往下运行

2. 解决方法

这时可以利用 pandas 库,把 table 转成 df

代码参考:

import os
import pandas as pd
def read_xls_html(fname):
    df=None
    try:
        f = open(fname,'r',encoding='utf-8')
        table_string=f.read()
        f.close()
        df=pd.read_html(table_string, flavor="bs4")[0]
    except Exception as e:
        print(e)
    finally:
        print(df)
        return df