机器学习 数据预处理之数据打标签
工作内容:
1.读取pdf文档内容
2.分页显示
3.每个数据后设置下拉框供手动打标签
4.数据录入txt文档
代码:
import math
import os
import tkinter as tk
from tkinter import *
import tkinter.ttk as ttk
from tkinter.messagebox import *
import time
import pdfplumber as pp# request:pip install pdfplumberclass GUI(object):def __init__(self):print('begin time:', time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))self.resume_kinds = ('基础资料', '教育经历', '校园经历', '项目经历', '工作经历', '专业技能', '自我评价', '求职意向', '其他')self.file_list = [i for i in os.listdir(r'D:\hk\微信资料\OA测试简历\OA测试简历') if i.endswith('.pdf')]self.content, self.page_num = [], 0self.lb_text, self.cmb = [], []# 主窗口self.root = Tk()self.root.title('简历打标签')self.root.geometry("680x620")# 分页栏self.tab_main = ttk.Notebook()self.tab_main.place(relx=0.05, rely=0.1, relwidth=0.9, relheight=0.8)# 文件下拉框self.cmb_files = ttk.Combobox(self.root, state='readonly')self.cmb_files['value'] = self.file_listself.cmb_files.current(0)self.cmb_files.place(relx=0.3, rely=0, relwidth=0.3, relheight=0.05)# 文件选择提取按钮self.extract_butt = Button(self.root, text='提取', command=lambda: extract_file(self.cmb_files.get()))self.extract_butt.place(relx=0.61, rely=0, relwidth=0.05, relheight=0.05)# 数据录入按钮self.writein_butt = Button(self.root, text='录入', command=lambda: write_in())self.writein_butt.place(relx=0.5, rely=0.91, relwidth=0.05, relheight=0.05)# 文件选择提取按钮响应函数def extract_file(file):if file.endswith('.pdf'):self.content, self.page_num = [], 0self.lb_text, self.cmb = [], []# 获取文本内容path = 'D:\\hk\\微信资料\\OA测试简历\\OA测试简历\\' + fileprint('path:', path)pdf = pp.open(path)pdf.metadatapages = pdf.pagesfor i in pages:text = i.extract_text()lines = text.splitlines()self.content += linesprint(len(self.content))self.page_num = math.ceil(len(self.content) / 21)print('page_num:', self.page_num)self.tab_main.destroy()self.tab_main = ttk.Notebook()self.tab_main.place(relx=0.05, rely=0.05, relwidth=0.9, relheight=0.85)for i in range(self.page_num):tab = Frame(self.tab_main)tab.pack()labels_area = Frame(tab)cmbs_area = Frame(tab)labels_area.place(relx=0, rely=0, relwidth=0.9, relheight=1)cmbs_area.place(relx=0.9, rely=0, relwidth=0.1, relheight=1)self.tab_main.add(tab, text='%i' % (i + 1))for j in range(21):if i * 21 + j < len(self.content):lb = Label(labels_area, text=self.content[i * 21 + j])# lb.place(relx=0,rely=j/25,relwidth=1,relheight=1/25)lb.pack(anchor=E)self.lb_text.append(self.content[i * 21 + j].replace(' ',''))self.cmb.append(ttk.Combobox(cmbs_area, state='readonly'))self.cmb[-1]['value'] = self.resume_kindsself.cmb[-1].current(0)self.cmb[-1].pack()# 数据录入按钮响应函数def write_in():confirm = askyesno('提示框', '是否录入数据?(此操作会影响文本录入信息)')if confirm:with open('data.txt', 'a', encoding='utf-8') as f:for i in range(len(self.lb_text)):f.write(self.cmb[i].get() + ' ' + self.lb_text[i] + '\n')print('录入成功')print('finish time:', time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))self.root.mainloop()if __name__ == '__main__':gui = GUI()
界面展示:
机器学习 数据预处理之数据打标签相关推荐
- 机器学习项目中的数据预处理与数据整理之比较
要点 在常见的机器学习/深度学习项目里,数据准备占去整个分析管道的60%到80%. 市场上有各种用于数据清洗和特征工程的编程语言.框架和工具.它们之间的功能有重叠,也各有权衡. 数据整理是数据预处理的 ...
- R语言数据预处理、数据因子化并自定义因子标签、通过labels参数指定因子标签
R语言数据预处理.数据因子化并自定义因子标签.通过labels参数指定因子标签 目录
- 数据预处理Part9——数据降维
文章目录 1. 什么是数据降维? 2. 为什么要进行数据降维? 3. 降维是如何实现的? 4. sklearn中的降维算法 4.1 主成分分析PCA 4.2 因子分析FA 4.3 独立成分分析ICA ...
- 【Python实战】数据预处理(数据清理、集成、变换、归约)
[Python实战]数据预处理 前言 数据预处理概述 数据清理 异常数据处理 1.异常数据分析 2.异常数据处理方法 缺失值处理 噪声数据处理 数据集成 1.实体识别 2.冗余属性 3.数据不一致 数 ...
- 数据预处理—-(数据探索、数据清理、数据集成、数据规约、数据变换)
数据挖掘概念与技术 定义挖掘目标–>数据取样–>数据探索–>数据预处理–>挖掘建模–>模型评价 第一章.数据 挖掘的数据类型:时间序列,序列,数据流,时间空间数据,多媒体 ...
- 数据预处理Part2——数据标准化
文章目录 数据标准化 1. 实现归一化的Max-Min 2. 实现中心化和正态分布的Z-Score 3. 用于稀疏数据的MaxAbs 4. 针对离群点的RobustScaler 5. 标准化后数据可视 ...
- 竞赛专题 | 数据预处理-如何处理数据中的坑?
点击上方"Datawhale",选择"星标"公众号 第一时间获取价值内容 为了帮助更多竞赛选手入门进阶比赛,通过数据竞赛提升理论实践能力和团队协作能力.Data ...
- PyTorch源码解析--torchvision.transforms(数据预处理、数据增强)
PyTorch框架中有一个很常用的包:torchvision torchvision主要由3个子包构成:torchvision.datasets.torchvision.models.torchvis ...
- 数据预处理Part4——数据离散化
文章目录 离散化,对数据做逻辑分层 1. 什么是数据离散化? 2. 为什么要将数据离散化 3. 如何将数据离散化? 3.1 时间数据离散化 3.2 多值离散数据离散化 3.3 连续数据离散化 3.4 ...
- Python数据分析中的数据预处理:数据标准化
[小白从小学Python.C.Java] [Python全国计算机等级考试] [Python数据分析考试必会题] ● 标题与摘要 Python数据分析中的 数据预处理:数据标准化 ● 选择题 以下关于 ...
最新文章
- 袁国勇院士团队纳米孔测序揭示人和禽流感病毒新型检测和监测靶点
- 深度学习之梯度下降法
- Excel中条件格式应用的探讨之突出显示!
- 零基础python必背代码-30个Python常用极简代码,拿走就用
- 面试中的那些“坑问题”该如何回答
- H3C交换机典型访问控制列表(ACL)配置实例
- Sharepoin学习笔记—架构系列--01 Sharepoint的网页(Page),网页解析(Parsing)与解析安全处理(Security)
- 基于visual Studio2013解决面试题之1305字符串所有子集
- 整理的一些实用工具网站
- Vue Cli 3 搭建一个可按需引入组件的组件库架子
- 神经网络入门之RNN(三)
- Python实例练手项目源码 - 关不掉的窗口
- 【Elasticsearch教程20】Pinyin拼音分词器 以及多音字修改
- java对象list_java 8 从一个list对象转list对象的属性
- Mac更新系统后无法使用git
- c语言画猪程序,C语言画小猪佩奇(转载)
- JSON.stringify 函数 (JavaScript)
- net start npf启用失败问题解决 net start npf 发生系统错误5、net start npf 服务名无效
- Java面试八股文界的“六边形战士”22年最强,不接受反驳!
- 广州优漫动游公司:UI设计师的未来方向在哪里?