引言
Python作为一种功能强大、易于学习的编程语言,广泛应用于数据处理、文本分析、文件操作等多个领域。本篇文章将介绍如何结合Python的openpyxl库读取Excel文件、处理数据以及利用基础的文件操作函数管理本地文件系统,最终实现特定文件筛选并将其内容存储到文本文件中。此过程涉及到数据抓取、大小写不敏感的字符串匹配和文件读写操作,为数据工程师和自动化脚本开发者提供了实用的范例。
数据提取与准备
首先,导入选用的库并加载Excel文件:
import openpyxl
打开文件
workbook = openpyxl.load_workbook(‘C:\Users\luoyanxiang\Desktop\存储过程和系统函数.xlsx’)
获取第一个工作表
sheet = workbook.active
提取第一列数据
data = [row[0].value for row in sheet.iter_rows(min_row=2, max_col=1, max_row=sheet.max_row)]
文件筛选与分组
接下来,我们通过遍历数据列表,检查与文件名的字符串匹配,并将匹配结果分为已执行和未执行两类:
exit_list = []
unexit_list = []
遍历数据列表
for i in data:
for j in range(1, 28):
file_path = 'C:\\Users\\luoyanxiang\\Desktop\\wbj\\wbj\\' # 你的文件目录路径
file_name = f'{j}.sql' # 假设文件名是数据列表中的元素值
file = file_path + file_name
检查文件是否存在
if os.path.exists(file):
try:
with open(file, 'r', encoding='utf-8') as f:
# 大小写不敏感的匹配
if i.lower() in f.read().lower():
exit_list.append(i)
except Exception as e:
print(f"读取文件 {file} 时发生错误: {str(e)}")
else:
print(f"文件 {file} 不存在。")
结果输出与文件写入
最后,输出并写入已执行的文件名列表到一个文本文件:
输出结果
print("已执行的列表:")
去重并输出
exit_list = list(set(exit_list))
print(exit_list)
写入到文本文件
with open('C:\\Users\\luoyanxiang\\Desktop\\wbj\\wbj\\支持.txt', 'w', encoding='utf-8') as f:
for i in exit_list:
f.write(i + '\n')
print("共计", len(exit_list), "个")
结语
通过这个脚本,我们展示了如何自动处理文件系统中的数据,进行文件筛选和字符串匹配,并将结果存储到文本文件中。这种结构化的数据处理流程在日常工作中的自动化、数据整合和分析中具有较高的实用价值,帮助用户节省了大量手动操作的时间,提高了工作效率。在实际应用时,可以根据具体需求调整路径、文件格式和逻辑判断,以满足更复杂的数据处理场景。