本文介绍: 我这边有个需求,是要求汇总一个文件夹所有的excel文件, 其中有.xls和 .xlsx文件,同时还excel文件中的数据可能还不一致,会有表头数据不一样需要一起汇总。首先先遍历子文件夹并读取Excel文件: 使用os库来遍历包含子文件夹的主文件夹,并读取所有的Excel文件。然后是合并数据: 使用pandas的concat函数将所有数据帧合并为一个总的数据帧,并处理不同表头的情况。假设表头位于第一行。最后呢 ,保存总表:将合并后的数据保存到一个新的Excel文件。
我这边有个需求,是要求汇总一个文件夹所有的excel文件, 其中有.xls和 .xlsx文件,同时还excel文件中的数据可能还不一致,会有表头数据不一样需要一起汇总。
首先先遍历子文件夹并读取Excel文件: 使用os库来遍历包含子文件夹的主文件夹,并读取所有的Excel文件。
然后是合并数据: 使用pandas的concat函数将所有数据帧合并为一个总的数据帧,并处理不同表头的情况。假设表头位于第一行。
最后呢 ,保存总表:将合并后的数据保存到一个新的Excel文件
出现的问题
上图错误, 我用断点调试去看数据, 发现里面出现了一个错误的文件路径。 是以~$ 开头的一个excel文件。但是真实环境中是没有这个excel文件,去查了一下资料
如下解释:
在Windows系统中,当一个Excel文件(.xlsx 或 .xls)正在被某个用户编辑时,Excel会创建一个临时文件,文件名以 ~$ 开头,然后是原始文件的名称。这个临时文件用于跟踪编辑进程,以防止多个用户同时编辑相同的文件时发生冲突。
所以在os.walk遍历文件夹时,它会包括所有文件,包括这些临时文件。这些临时文件通常不应被处理或读取,因为它们是Excel编辑过程中的中间文件。
解决方案
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。