最近在做网上爬取财务数据的小项目调试代码过程中遇到了一个pandas 运行bugpandas读取文件需要指定engine类型

原因:路径缓存问题

1.问题pandas 读写文件报错

Excel file format cannot be determined,you must specify an engine manually.

下图
请添加图片描述

2.主要原因两个

2.1.打开excel会有”~$“开头的缓存文件
2.2.Mac 下的pands运行有”.DS_Store缓存文件

如果存在缓存文件或者其他pandas默认读取不了的文件,就会让我们指定pandasengine了。

3.解决办法正确确定路径和清除缓存文件

通过if 判断是否缓存文件,然后通过os.remove()移除,这样后续的pandas读取就不会报bug了。

  for name in path_list:
        if name.endswith('.DS_Store'):
            os.remove(os.path.join(sub_comp , name))

    for name in path_list:
        if name.startswith('~$'):
            os.remove(os.path.join(sub_comp , name))

这样就可以文件夹缓存文件删除,后续读取用来数据分析容易多了。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注