python数据清洗-找到重复的txt并输出字数最少的


import os
import json
from collections import Counterdef find_and_write_duplicate_txt_files(root_folder, output_file):# 存储所有找到的 txt 文件名和路径的字典列表txt_files_dict_list = []# 统计每个文件名出现的次数filename_counts = Counter()# 遍历文件夹及其子文件夹for foldername, _, filenames in os.walk(root_folder):for filename in filenames:# 只处理 txt 文件if filename.endswith('.txt'):# 记录文件名出现的次数filename_counts[filename] += 1list1=[]# 遍历文件夹及其子文件夹for foldername, _, filenames in os.walk(root_folder):for filename in filenames:# 只处理 txt 文件if filename.endswith('.txt'):# 如果文件名出现次数大于等于2,则记录其路径if filename_counts[filename] >= 2:# 构建 txt 文件的路径txt_filepath = os.path.join(foldername, filename)# 将文件名和路径存储在字典中txt_files_dict = {'filepath': txt_filepath, 'filename': filename}# 将字典添加到列表中txt_files_dict_list.append(txt_files_dict)if filename not in list1:list1.append(filename)print(len(list1),list1)# 将字典列表写入 JSONL 文件with open(output_file, 'w', encoding='utf-8') as f_out:for txt_file_dict in txt_files_dict_list:json.dump(txt_file_dict, f_out, ensure_ascii=False)f_out.write('\n')# 调用函数遍历文件夹并将结果写入 JSONL 文件
find_and_write_duplicate_txt_files('D:\\2024work\\5月小说', '重复的txt.jsonl')import jsondef process_output_file(input_file, output_file):# 读取 'output.jsonl' 文件file_data = []with open(input_file, 'r', encoding='utf-8') as f_in:for line in f_in:file_data.append(json.loads(line))# 找到每个文件名对应的最大字数的文件filename_to_data = {}for data in file_data:filename = data['filename']filepath = data['filepath']with open(filepath, 'r', encoding='utf-8') as f:content = f.read()file_size = len(content)if filename not in filename_to_data or file_size > filename_to_data[filename]['file_size']:filename_to_data[filename] = {'filepath': filepath, 'file_size': file_size}# 将数据写入新的 JSONL 文件with open(output_file, 'w', encoding='utf-8') as f_out:for filename, data in filename_to_data.items():json.dump({'filename': filename, 'filepath': data['filepath']}, f_out, ensure_ascii=False)f_out.write('\n')# 调用函数处理 'output.jsonl' 文件并将结果写入新的 JSONL 文件
process_output_file('重复的txt.jsonl', '重复的txt_output.jsonl')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/12859.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nmap端口扫描工具——LInux

目录 系统版本: nmap主要功能 安装: nmap命令使用方法

SC8908电机驱动芯片替代AN41908

SC8908 描述 五路H桥静音驱动电机驱动芯片,闭环直流电机光圈调节,支持霍尔位置检测, 2个步进电机。步进电机驱动带256微步细分。 主要特性 • 步进驱动H桥每路250mA最大驱动电流 • 光圈直流驱动H桥每路150mA最大驱动电流 • 单独…

web学习笔记(五十四)Vue

目录 1.初始Vue 1.1 什么是Vue 1.2 Vue的特点 1.3 引入Vue 1.4 使用Vue 2. 数据绑定的方法 2.1 Mustache(双大括号插值法) 2.2 v-text 2.3 v-html 3. 列表渲染 1.初始Vue 1.1 什么是Vue Vue 是一套用于构建用户界面的渐进式JavaScript框架。…

1725 ssm资产管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java ssm资产管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/…

libssh C++封装之六(Dir)

1 概述 libssh是一个在客户端和服务器端实现SSHv2协议的多平台C库。使用libssh,您可以远程执行程序、传输文件、使用安全透明的隧道、管理公钥等等。本文描述的对libssh客户端功能的C++封装。 libssh下载地址 3 实现 3.5 Dir Dir类型管理远程路径,通过SFTP和Channel实现(有…

uni u-form-item 只有图标点击有效

如下,输入的地方是个选择项,代码如下: <u-form-item class=u-form-item label="监督主题" prop="themeName" borderBottom ref="item1" @click="openPopup(0)" > <u--input v-model="form.themeNam…

PTA--《面线对象程序设计》作业3-继承与多态

目录 一&#xff1a;函数题 6-2 长方形长方体类&#xff1a; 6-1 从抽象类shape类扩展出一个圆形类Circle 二&#xff1a;编程题 7-1&#xff1a;周长计算器 一&#xff1a;函数题 6-2 长方形长方体类&#xff1a; 定义一个长方形类Rectangle&#xff0c;拥有长、宽属性…

定时发圈操作介绍

1、登陆已有的账号&#xff0c;点击到"朋友圈"功能 2、选择要发圈的微信号&#xff0c;编辑发圈的文案内容 3、自定义想要的时间点 4、点击"立即发送" 5、可进行跟圈

【JavaScript】eval

JavaScript 中的 eval() 是一个全局函数&#xff0c;它接受一个字符串参数&#xff0c;并将其作为 JavaScript 代码进行解析和执行&#xff1b;如果接收的不是一个字符串&#xff0c;则会将传入的数据直接返回。 eval 的基本用法&#xff1a; eval() 函数将传入的字符串参数作为…

深度解析 Spring 源码:解密AOP切点和通知的实现机制

文章目录 深度解析 Spring 源码&#xff1a;解密AOP切点和通知的实现机制一、Spring AOP的基础知识1.1 AOP的核心概念&#xff1a;切点、通知、切面等1.2 Spring AOP与传统AOP的区别和优势 二、深入分析切点和通知的实现2.1 研究 Pointcut 接口及其实现类2.1.1 Pointcut 接口2.…

powershell 防止休眠或屏幕关闭并定时截屏保存

powershell 防止休眠或屏幕关闭 01 前言 因工作需要&#xff0c;需要在用户的机器上进行操作&#xff0c;有些工作比较耗时、耗CPU&#xff0c;配置也不高&#xff0c;因而就不能用这台机器同时干太多活&#xff0c;又不能干盯着啥也干不了&#xff0c;但是一段时间不操作&am…

巩固学习9

show-me-the-code题目001 #做为 Apple Store App 独立开发者&#xff0c;你要搞限时促销&#xff0c;为你的应用生成激活码&#xff08;或者优惠券&#xff09;&#xff0c;使用 Python 如何生成 200 个激活码&#xff08;或者优惠券&#xff09;&#xff1f; import random a…

延迟队列有哪些

延迟队列 与时间相关场景的应用,经常用于延后多少时间执行什么任务。 java 自带延迟队列 class Solution {public static void main(String[] args) throws InterruptedException {DelayQueue<DelayMealTask> queue = new DelayQueue<>();DelayMealTask task =…

MySQL存储过程练习

DDL CREATE TABLE student (id int(11) NOT NULL AUTO_INCREMENT COMMENT 学号,createDate datetime DEFAULT NULL,userName varchar(20) DEFAULT NULL,pwd varchar(36) DEFAULT NULL,phone varchar(11) DEFAULT NULL,age tinyint(3) unsigned DEFAULT NULL,sex char(2) DEFAU…

数据库审计系统Yearning使用笔记

一、启动 1、初始化MySQL 启动mysql docker run -d --namemysql -p 3306:3306 -e MYSQL_ROOT_PASSWORDroot mysql:5.7创建数据库&#xff0c;链接数据库并执行以下创建库的脚步&#xff0c;注意字符集 create database yearning char set utf8mb42、启动Yeelabs 需要执行…

CDGA|揭秘移动物联网数据治理秘诀,轻松提升数据质量,赋能智慧未来

在数字化浪潮汹涌的今天&#xff0c;移动物联网作为连接物理世界与数字世界的桥梁&#xff0c;其数据治理的重要性日益凸显。高质量的数据不仅是企业决策的基石&#xff0c;更是推动行业智能化、精细化发展的关键。本文将为您揭秘移动物联网数据治理的技巧&#xff0c;助您轻松…

如何设计实用的ITSM自助服务台

在现代IT服务管理&#xff08;ITSM&#xff09;领域中&#xff0c;自助服务台已成为IT运维环境的核心组件。它作为企业内部信息中心与其他部门用户之间的桥梁&#xff0c;一个以用户为中心的平台&#xff0c;更注重用户的自主性和自助能力&#xff0c;使用户能够直接访问所需的…

微软宣布GPT-4o模型,可在 Azure OpenAI上使用

5月14日&#xff0c;微软在官网宣布&#xff0c;OpenAI最新发布的多模态模型GPT-4o&#xff0c;可以在 Azure OpenAI 云服务中使用。 据悉&#xff0c;GPT-4o支持跨文本、视频、音频多模态推理&#xff0c;例如&#xff0c;通过GPT-4o打造一个AI助手&#xff0c;用于辅导孩子解…

halcon学习之形状匹配

算子 create_shape_model&#xff08;&#xff09; 创建一个用于匹配的形状模型 create_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, Optimization, Metric, Contrast, MinContrast : ModelID) 参数 Template&#xff1a; NumLevels&#…

基于NIOS-II软核流水灯和串口通信实现

文章目录 一、创建工程二、系统设计1. 在 “component library” 标签栏中找到 “Nios II Processor” 后点击 Add2. 在 ”Component Library” 标签栏中的查找窗口输入 jtag 找到 ”JTAG UART ”&#xff0c;然后点击 Add3. 添加片上存储器 On-Chip Memory(RAM)核4. 查找窗口输…