【Python代码】如何在多个Excel文件中高效找出含有特定关键词的文件?

news2024/9/24 13:16:53

点击上方"蓝字"

关注木易巷!

哈喽,大家好,木易巷来啦!

想象一下,如果你有一个文件夹,里面堆满了近百个Excel文件,你需要从中找出包含特定关键词文本的文件。文件格式不统一,每个数据表中的字段也都不匹配,这听起来是不是有点头大?

木易巷今天就遇到了这个问题,最后写了一段Python代码,成功找出。

本文将介绍如何使用Python脚本来自动化这个过程,找出文件夹中包含特定关键词的所有Excel文件。

话不多说,上干货~

▍1、所需工具和库

首先,确保你的计算机上已经安装了Python环境。接下来,我们需要安装两个重要的库:pandas和openpyxl。pandas是Python的数据分析库,用于数据处理和分析,而openpyxl则是用来读取和写入Excel 2010 xlsx/xlsm/xltx/xltm文件的库。

安装命令如下:

pip install pandas
pip install openpyxl

▍2、编写脚本

下面是查找包含关键词Excel文件的Python脚本:

import os
import pandas as pd

# 设置文件夹路径和关键词
folder_path = '你的文件夹路径'  # 替换为你的文件夹路径
keyword = '你的关键词'  # 替换为你想要搜索的关键词

# 初始化一个列表来保存包含关键词的Excel文件名
matching_files = []

# 遍历文件夹中的所有文件
for file in os.listdir(folder_path):
    # 检查文件是否为Excel文件
    if file.endswith('.xlsx') or file.endswith('.xls'):
        # 构建完整的文件路径
        file_path = os.path.join(folder_path, file)
        # 尝试读取Excel文件
        try:
            # 使用openpyxl作为读取.xlsx文件的引擎
            if file.endswith('.xlsx'):
                df = pd.read_excel(file_path, engine='openpyxl')
            else:  # 对于.xls文件,如果xlrd仍然可用,可以继续使用
                df = pd.read_excel(file_path)
            # 遍历Excel表中的所有单元格
            for cell in df.values.flatten():
                # 检查单元格是否包含关键词
                if keyword in str(cell):
                    # 如果找到关键词,将文件名添加到列表中,并跳出循环
                    matching_files.append(file)
                    break
        except Exception as e:
            print(f"无法读取文件 {file_path}: {e}")

# 输出包含关键词的Excel文件名
print(f"包含关键词 '{keyword}' 的Excel文件有:")
for matching_file in matching_files:
    print(matching_file)

▍3、使用说明

(1)将脚本中的folder_path变量替换为你想要搜索的文件夹路径。

(2)将keyword变量替换为你想要查找的关键词。

(3)运行脚本。

好啦,今天的分享就到这里~

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1971576.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

仓颉语言 -- 宏

使用新版本 (2024-07-19 16:10发布的) 1、宏的简介 宏可以理解为一种特殊的函数。一般的函数在输入的值上进行计算,然后输出一个新的值,而宏的输入和输出都是程序本身。在输入一段程序(或程序片段,例如表达…

【OpenCV C++20 学习笔记】提取水平和垂直线条

提取水平和垂直线条 原理实操——去除五线谱的五线二进制化提取垂直对象完善边缘和最终输出图片黑白反转平滑 完整代码 其他图片元素提取实践提取水平线条提取音符轮廓 原理 在腐蚀和膨胀操作中,通过卷积核(kernel),或者结构元素(structuring element)&…

vue-router核心TS类型

NavigationFailureType 枚举: export declare enum NavigationFailureType {/*** An aborted navigation is a navigation that failed because a navigation* guard returned false or called next(false)*/aborted 4,/*** A cancelled navigation is a navigati…

arduino程序-MC猜数字5、6(基础知识)

arduino程序-MC猜数字5、6(基础知识) 1-23 MC猜数字-5 自定义函数自定义函数自定义清理显示内容函数displayClear()带参数函数displayNumber带参数、返回值的函数 1-24 MC猜数字-6 完成制作显示0~9数字函数改造产生随机数字函数改…

嵌入式人工智能(42-基于树莓派4B的红外遥控)

1、简介 红外遥控想必对大家来说都不陌生,红外也属于无线通信的一种,只要是无线通信,必然要用电磁波,要理解无线通信的本质和原理,不管用哪个频段都要学习电磁场与电磁波,这是一个难度很大的课&#xff0c…

IT事件经理在数字企业中的角色和责任

什么是IT事件经理? IT事件经理有时也被称为事件指挥官,他们承担着管理组织事件响应的总体责任,从委派各种事件响应任务到与每个利益相关者进行沟通和协调。 示例:当一个全球性的电子商务平台在一次销售活动中流量激增&#xff0c…

George Danezis谈Mysticeti的共识性能

Sui的新共识引擎Mysticeti已经在主网上开始分阶段推出。Mysten Labs联合创始人兼首席科学家George Danezis在采访中,讨论了其低延迟如何通过高性能应用程序提升用户体验。 采访视频: https://youtu.be/WHvtPQUa2Q0 中文译文:延迟和吞吐量对…

LSTM与GNN强强结合!全新架构带来10倍推理速度提升

今天来推荐一个深度学习领域很有创新性的研究方向:LSTM结合GNN。 GNN擅长处理图数据关系和特征,而LSTM擅长处理时间序列数据及长期依赖关系。通过将两者结合,我们可以有效提升时间序列预测的准确性和效率,尤其是在处理空间和时间…

手搓交换排序、归并排序、计数排序

文章目录 交换排序冒泡排序快速排序hoare版本挖坑法lomuto前后指针 非递归快速排序 归并排序实现计数实现排序代码测试排序算法性能 交换排序 冒泡排序 void BubbleSort(int* arr, int n) {for (int i 0; i < n; i){int flag 0;for (int j 0; j < n - i - 1; j){if …

day13 Java基础——逻辑运算符,位运算符及面试题

day13 Java基础——逻辑运算符&#xff0c;位运算符及面试题 1. 逻辑运算符&#xff1a;与&#xff0c;或&#xff0c;非 package operator;public class Demo07 {public static void main(String[] args) {boolean a true;boolean b false;System.out.println("a &…

【网络问题】网络诊断:远程计算机或设备将不接受连接的解决办法/DNS服务器可能不可用

当网络出现问题时&#xff0c;一定要点击“请尝试运行Windows网络诊断”来获取具体的网络问题&#xff0c; 今天碰到且得以解决的两个问题&#xff1a; 一、远程计算机或设备将不接受连接的解决办法 打开控制面板——点击“网络和Internet”——点击“Internet选项”&#xf…

电脑自动重启是什么原因?重启原因排查和解决办法!

当你的电脑突然毫无预警地自动重启&#xff0c;不仅打断了工作流程&#xff0c;还可能导致未保存的数据丢失&#xff0c;这无疑令人很懊恼&#xff0c;那么&#xff0c;电脑自动重启是什么原因呢&#xff1f;有什么方法可以解决呢&#xff1f;别担心&#xff0c;在大多数情况下…

《从零开始:使用Python构建简单Web爬虫》

前言 随着互联网信息的爆炸性增长&#xff0c;如何高效地获取和处理这些数据变得越来越重要。Web爬虫作为一种自动化工具&#xff0c;可以帮助我们快速抓取所需的网页内容。本文将介绍如何使用Python编写一个简单的Web爬虫&#xff0c;并通过实例演示其基本用法。 准备工作 …

创建互动照片墙:HTML、CSS 和 JavaScript 实战

在这个数字化时代&#xff0c;照片已经成为我们生活中不可或缺的一部分。无论是记录重要时刻&#xff0c;还是分享日常生活&#xff0c;我们都离不开照片。今天&#xff0c;我们将一起探索如何使用 HTML、CSS 和 JavaScript 创建一个互动的照片墙程序&#xff0c;让您可以轻松展…

四步构建App跨渠道归因分析方法

通常来讲&#xff0c;在互联网场景中&#xff0c;最简单也最常用的App归因模型就是基于最后一次点击来源进行归因转化&#xff0c;因为越靠近决策环节的时刻通常影响就越大。 不过有机构对营销测量的研究发现&#xff0c;只有11%的营销人员对他们的归因模型的准确性感到“非常…

大语言模型(LLM)快速理解

自2022年&#xff0c;ChatGPT发布之后&#xff0c;大语言模型&#xff08;Large Language Model&#xff09;&#xff0c;简称LLM掀起了一波狂潮。作为学习理解LLM的开始&#xff0c;先来整体理解一下大语言模型。 一、发展历史 大语言模型的发展历史可以追溯到早期的语言模型…

视频孪生:如何有效利用智慧机房里的视频监控系统?

机房是存储设备和数据的重要场所。常见的机房安全隐患有电源不稳定、设备温度异常、空调及新风系统故障、机房漏水等&#xff0c;因此需要管理人员全天轮班值守巡检。传统机房运维工作繁琐且效率低下&#xff0c;对监控设备的利用率不高&#xff0c;而视频孪生技术能很好地解决…

02 pip指令的使用

pip 是一个现代的&#xff0c;通用的 Python 包管理工具 。提供了对Python 包的查找、下载、安装、卸载的功能。 1. 在安装好的python环境下&#xff0c;进入以下目录可以查看到pip命令。 同样在windows命令窗口进行测试&#xff0c;pip命令是否可用。WindowsR键&#xff0c;使…

“职场中,不要和上司作对”,真的很重要吗?你认同这句话吗?

在职场上&#xff0c;领导对下属的期望永远都只有两个字&#xff0c;不是忠诚&#xff0c;也不是能力&#xff0c;而是省心。 领导对下属的要求就是别让我操心。 在职场中&#xff0c;通常面临的首要问题就是如何与领导相处。 把职场中的前辈当作老师来尊重&#xff0c;你尊…

基础复习(多线程)

线程创建方式 1.继承Thread类 2.实现Runable接口 3.Callable接口实现有返回值的线程 &#xff08;1&#xff09;第一种 提供了一个类叫做Thread&#xff0c;此类的对象用来表示线程。创建线程并执行线程的步骤如下 1.定义一个子类继承Thread类&#xff0c;并重写run方法 2.创建…