python - 如何从多个文件夹和子文件夹中读取 .txt 文件的名称并将它们写入多个 .csv 文件
问题描述
我在文件夹的子文件夹中有多个提取的 .txt 文件。子文件夹名称只不过是提取的 .pdf 的名称,.txt 文件是在单独的文本文件中包含来自 pdf 每一页的文本的文件。
例子:
已提取:myFile.pdf 有 10 页,因此它被提取为 10 个 .txt 文件到以下文件夹中,输出文件夹 --> myFile 文件夹 --> [csv 文件夹,json 文件夹,txtFiles 文件夹]
我的目标 10 个文本文件在“txtFiles 文件夹”中我在 100 个文件夹中有 100 个这样的 pdf 文件和文本文件
我这样做是为了使用线性 SVM 模型对 pdf 文档中的每一页进行分类。现在我已经为来自 ML 模型的目标文本文件分类了标签。
在这里,我尝试为每个文件创建一个带有 .pdf 文件名或第二个文件夹名称的 .csv 文件,并将页码和相关预测标签写入 .csv 文件。
filename = []
clfLabel = []
for root, dir, files in os.walk(folderPath):
for name in files:
if name endswith((".txt")):
file = os.sep.join([root, name])
with open(file) as textFile:
text = textFile.read()
cleanText = preprocessText(text)
cleanText = [cleanText]
tfidfText = loaded_vectorizer.transform(cleanText)
predicted = svcModelpkl.predict(tfidfText)
prediction = encoder.inverse_transform(predicted)
filename.append(name)
clfLabel.append(prediction)
fileName = pd.DataFrame(filename)
clfLabel = pd.Dataframe(clfLabel)
data = pd.concat(["fileName", "clfLabel"], axis = 1, ignore = index, sort = False)
data.columns = ["fileName", "clfLabel"]
data.to_csv(name+".csv")
在这里,我希望为每个具有相同名称的 pdf 或文件夹创建一个单独的 .csv 文件,并带有页码及其预测
myfile.pdf 有 10 页 anotherfile.pdf 有 15 页
我的文件.csv
页码 | 文档标签 |
---|---|
1 | 文档_A |
2 | 文件_B |
3 | 文档_C |
4 | 文档_A |
5 | 文档_C |
6 | 文件_B |
7 | 文件_D |
8 | 文档_C |
9 | 文档_A |
10 | 文件_D |
anotherfile.csv 等....
我是 python 新手,请帮助我实现这一目标
解决方案
推荐阅读
- python - 元素长度调整大小(硒,python)
- javascript - Javascript:使用动态列名执行 SQL 查询
- compiler-errors - SPARC-RTEMS5-GCC 忽略或找不到库
- python-3.x - 如何克服无法将字符串转换为浮点数?
- android - 在 Android 中为芯片设置边框颜色
- prolog - 如果变量未实例化,则调用不同的谓词
- angular - 角度延迟加载会破坏骨架加载动画
- python-3.x - 用 Spacy 克服错误实体识别的最佳方法是什么?
- android - 有没有办法直接通知服务器设备注册 ID 的更改?
- javascript - 无法使用角度从资产文件夹中检索 json 数据