python -- (文件夹下的不同文本文件的处理)

需求:

1. 一个文件夹下的不同文件夹下有不同的文本文件
2. 根据文本文件中特定的关键字提取该行数据和文件名和文件夹名
3. 数据写到excel表格中
import os
import xlwt

rootDir = 'C:\\Users\\admin\Desktop\\b'
target = rootDir + '\\'

# 创建workbook(其实就是excel,后来保存一下就行)
workbook = xlwt.Workbook(encoding='utf-8')
# 创建表
worksheet = workbook.add_sheet('含特殊语料')
# 往单元格内写入内容:写入表头
worksheet.write(0, 0, label="word")
worksheet.write(0, 1, label="file_name")
worksheet.write(0, 2, label="region")

# 遍历文件夹
def iter_files(rootDir):
    i = 1
    # 遍历根目录
    for root, dirs, files in os.walk(rootDir):
        for file in files:
            file_name = os.path.join(root, file)
            print(file_name)

            if os.path.isfile(file_name):
                with open(file_name, 'r', encoding='utf-8') as f1:
                    for line in f1.readlines():
                        line = line.strip()
                        if "特殊语料" in line:
                            # 往单元格内写入内容:写入内容
                            worksheet.write(i, 0, label=line)
                            worksheet.write(i, 1, label=file)
                            floder_split = file_name.split('\\')
                            floder = floder_split[-2]
                            worksheet.write(i, 2, label=floder)
                            i = i + 1
                            workbook.save(target + 'Special_Word.xls')


iter_files(rootDir)

文件夹类型如下:

在这里插入图片描述
在这里插入图片描述

效果图如下:

在这里插入图片描述
注:如有更好的方法热情来提意见交流!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值