需求:
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)
文件夹类型如下:
效果图如下:
注:如有更好的方法热情来提意见交流!