两个一一对应的txt文本去重
文章目录
- 前言
- 一、代码
- 1. 保存到两个txt文件
- 2. 保存到excel
- 二、使用
- 总结
前言
问题:对两个一一对应的txt文本文件进行去重操作,将结果保存
解决:pandas.concat & pandas.DataFrame.drop_duplicates
pandas.concat(objs, axis=0, join='outer', ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=False, copy=True)
DataFrame.drop_duplicates(subset=None, keep='first', inplace=False, ignore_index=False)
一、代码
1. 保存到两个txt文件
def to2txt(file1_path,file2_path,file1,file2):"""对两个一一对应的txt文本文件进行去重,分别写入两个文件:param file1_path: 文本1:param file2_path: 文本2:param file1: 输出文本1:param file2: 输出文本2:return: """# read_csv读文件的时候,如果文本里包含英文双引号,直接读取会导致行数变少或是直接如下报错停止# Error tokenizing data. C error: EOF inside string starting at row 1zh_text = pd.read_csv(file1_path, header=None, sep='\n', quoting=3,error_bad_lines=False) # 或者设置quoting=csv.QUOTE_NONEen_text = pd.read_csv(file2_path, header=None, sep='\n', quoting=3,error_bad_lines=False) # 或者设置quoting=csv.QUOTE_NONEzh_en_text = pd.concat([zh_text, en_text], axis=1, keys=['zh', 'en']) # 拼接zh_en_text.drop_duplicates(subset=None, keep='first', inplace=True) # 去重zh = zh_en_text['zh'] # 取数据en = zh_en_text['en'] # 取数据assert len(zh) == len(en)zh.to_csv(file1, sep='\n', index=False, header=False) # 写入文本1en.to_csv(file2, sep='\n', index=False, header=False) # 写入文本2
2. 保存到excel
def to_excel(file1_path,file2_path,excel_file):"""对两个一一对应的txt文本文件进行去重,对应写入excel:param file1_path: 文本1:param file2_path: 文本2:param file: excel文本路径:return: 去重后的excel文件"""zh_text = pd.read_csv(file1_path, header=None, sep='\n', quoting=csv.QUOTE_NONE,error_bad_lines=False)en_text = pd.read_csv(file2_path, header=None, sep='\n', quoting=csv.QUOTE_NONE,error_bad_lines=False)zh_en_text = pd.concat([zh_text, en_text], axis=1) # 拼接df = pd.DataFrame(zh_en_text.drop_duplicates()) # 去重# 写入excelwriter = pd.ExcelWriter(excel_file, engine='xlsxwriter')df.to_excel(writer, sheet_name='test1', header=None, index=None) # 不写入索引writer.save()
二、使用
if __name__ == "__main__":file1_path = "all_1.txt" # 待处理文本1file2_path = "all_2.txt" # 待处理文本2# file1 = "zh_test.txt" # 处理后txt文本路径1# file2 = "en_test.txt" # 处理后txt文本路径2# to2txt(file1_path,file2_path,file1,file2) # 去重,分别写入两个文件excel_file = os.path.join(abspath, "result_files/drop_all.xlsx") # excel文本路径to_excel(file1_path,file2_path,excel_file) # 去重,对应写入excel
总结
- 总体思路:将文本读取为DataFrame,对DataFrame结构的数据进行一系列操作,包括拼接、去重、写入文件
- 注意:read_csv在读文件的时候,如果文本里包含英文双引号,直接读取会导致行数变少或是直接如下报错停止
Error tokenizing data. C error: EOF inside string starting at row 1
解决方法:设置参数quoting
pd.read_csv(file_path, quoting=3)
pd.read_csv(file_path, quoting=csv.QUOTE_NONE)
两个一一对应的txt文本去重相关推荐
- python逐行读取字符串_python3.4.3下逐行读入txt文本并去重的方法
读写文件时应注意的问题包括: 1.字符编码 2.操作完成即时关闭文件描述符 3.代码兼容性 几种方法: #!/bin/python3 original_list1=[" "] or ...
- python文本去重函数_python3.4.3下逐行读入txt文本并去重的方法
读写文件时应注意的问题包括: 1.字符编码 2.操作完成即时关闭文件描述符 3.代码兼容性 几种方法: #!/bin/python3 original_list1=[" "] or ...
- python去重txt文本_Python 文件去重(转载)
原博文 2020-02-14 13:20 − Python实现的txt文件去重功能示例 更新时间:2018年07月07日 09:00:36 作者:人饭子 我要评论 这篇文章主要介绍了Python实现的 ...
- txt文本怎么去除重复项
txt文本怎么去除重复项?做网络推广的朋友经常会遇到这样的问题,txt文本文件里面有许多人名或者电话号码用来发送邮件或者短信,通常有许多是重复的,下面我来介绍两个方法来去除重复项,以人名为范本讲解. ...
- python字符串去重保持原顺序_python实现文本去重且不打乱原本顺序
代码也是在网上找的,效率挺不错的,特别适合字典文件的去重 #coding=utf-8 import sys def open_txt(): #打开TXT文本写入数组 try: xxx = file(s ...
- minhash算法检索相似文本_文本去重算法:Minhash/Simhash/Klongsent
日前接到一个对名言警句这种短文本进行去重的小任务,下图是几个重复文本的示例: 很直观的结论就是重复度越高的文本,具有更多重复的词汇.一个最直接的去重思路可以描述为:将文本进行分词处理,统计各文本词汇的 ...
- Mac-使用技巧之快速新建txt文本
最近在使用mac系统进行web网页开发,由于没有使用开发环境,因此出现大量的新建文本文件操作.mac上没有像windows一样右键新建文本文件的功能还是挺别扭的,几经搜索学习,总结以下两种个人认为最为 ...
- 关于如何在matlab中导入并翻译Hypemesh导出的大型刚度矩阵txt文本
刚度矩阵是有限元计算中最重要的矩阵,它是一个典型的对称稀疏矩阵,并且非零元素全部集中 前言 在对角线附近,稀疏矩阵就是零元素远大于非零元素的数目,所谓大型刚度矩阵.这里指稀疏矩阵中非零元素的数目有50 ...
- [Python学习] 专题五.列表基础知识 二维list排序、获取下标和处理txt文本实例
通常测试人员或公司实习人员需要处理一些txt文本内容,而此时使用Python是比较方便的语言.它不光在爬取网上资料上方便,还在NLP自然语言处理方面拥有独到的优势.这篇文章主要简单的介绍使用Pytho ...
- gensim在“中文查找(关键词)“与“txt文本“之间做相似度计算(返回最相似的文本)
本文目的 搜索关键词,返回最相关的txt文本内容(模仿搜索引擎) 网上的例子都是一个list里面放入几句话,然后输入关键词去计算相似度. 无法在实际中应用,例如 http://blog.csdn.ne ...
最新文章
- 实现一个队列,使得push_rear(), pop_front() 和get_min()的时间复杂度为O(1)
- 对称密码获取(OJ)
- java,倒置后的顺序为3,2,1_java 程序设计题库
- 边缘检测robert原理_在操作机器视觉检测过程中,遇到检测精度的难题怎么办?_西旺科技...
- Enterprise Library +Caliburn.Micro+WPF CM框架下使用企业库验证,验证某一个属性,整个页面的文本框都变红的原因...
- understanding the Euler Lagrange equation
- nefu 984 我是一个粉刷匠
- rtmp推流工具_EV录屏推流抖音直播教程——墨涩网
- 易语言解压服务器中压缩包,易语言取压缩包中的文件列表源码
- USB TYPE A B C 引脚定义
- CSS度量单位px/pt/em/in/pc/mm/cm
- APP在推广之渠道为王(三 )
- 火车头采集html文档没内容,火车头采集器:编辑任务中常见问题
- c语言的三个基本语句,C语言-桂林理工大学3-第三章 C程序设计的基本语句.doc
- 【分享Oracle练习二】
- Apache Kafka 在 360 的深度实践
- 测试理论 | 测试分析主要方法
- 如何将webp免费转改成jpg格式?
- 如何彻底删除Mac磁盘中的文件
- 高考必胜,归来仍是少年!