文章目录

  • 前言
  • 一、代码
    • 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

总结

  1. 总体思路:将文本读取为DataFrame,对DataFrame结构的数据进行一系列操作,包括拼接、去重、写入文件
  2. 注意: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文本去重相关推荐

  1. python逐行读取字符串_python3.4.3下逐行读入txt文本并去重的方法

    读写文件时应注意的问题包括: 1.字符编码 2.操作完成即时关闭文件描述符 3.代码兼容性 几种方法: #!/bin/python3 original_list1=[" "] or ...

  2. python文本去重函数_python3.4.3下逐行读入txt文本并去重的方法

    读写文件时应注意的问题包括: 1.字符编码 2.操作完成即时关闭文件描述符 3.代码兼容性 几种方法: #!/bin/python3 original_list1=[" "] or ...

  3. python去重txt文本_Python 文件去重(转载)

    原博文 2020-02-14 13:20 − Python实现的txt文件去重功能示例 更新时间:2018年07月07日 09:00:36 作者:人饭子 我要评论 这篇文章主要介绍了Python实现的 ...

  4. txt文本怎么去除重复项

    txt文本怎么去除重复项?做网络推广的朋友经常会遇到这样的问题,txt文本文件里面有许多人名或者电话号码用来发送邮件或者短信,通常有许多是重复的,下面我来介绍两个方法来去除重复项,以人名为范本讲解. ...

  5. python字符串去重保持原顺序_python实现文本去重且不打乱原本顺序

    代码也是在网上找的,效率挺不错的,特别适合字典文件的去重 #coding=utf-8 import sys def open_txt(): #打开TXT文本写入数组 try: xxx = file(s ...

  6. minhash算法检索相似文本_文本去重算法:Minhash/Simhash/Klongsent

    日前接到一个对名言警句这种短文本进行去重的小任务,下图是几个重复文本的示例: 很直观的结论就是重复度越高的文本,具有更多重复的词汇.一个最直接的去重思路可以描述为:将文本进行分词处理,统计各文本词汇的 ...

  7. Mac-使用技巧之快速新建txt文本

    最近在使用mac系统进行web网页开发,由于没有使用开发环境,因此出现大量的新建文本文件操作.mac上没有像windows一样右键新建文本文件的功能还是挺别扭的,几经搜索学习,总结以下两种个人认为最为 ...

  8. 关于如何在matlab中导入并翻译Hypemesh导出的大型刚度矩阵txt文本

    刚度矩阵是有限元计算中最重要的矩阵,它是一个典型的对称稀疏矩阵,并且非零元素全部集中 前言 在对角线附近,稀疏矩阵就是零元素远大于非零元素的数目,所谓大型刚度矩阵.这里指稀疏矩阵中非零元素的数目有50 ...

  9. [Python学习] 专题五.列表基础知识 二维list排序、获取下标和处理txt文本实例

    通常测试人员或公司实习人员需要处理一些txt文本内容,而此时使用Python是比较方便的语言.它不光在爬取网上资料上方便,还在NLP自然语言处理方面拥有独到的优势.这篇文章主要简单的介绍使用Pytho ...

  10. gensim在“中文查找(关键词)“与“txt文本“之间做相似度计算(返回最相似的文本)

    本文目的 搜索关键词,返回最相关的txt文本内容(模仿搜索引擎) 网上的例子都是一个list里面放入几句话,然后输入关键词去计算相似度. 无法在实际中应用,例如 http://blog.csdn.ne ...

最新文章

  1. 实现一个队列,使得push_rear(), pop_front() 和get_min()的时间复杂度为O(1)
  2. 对称密码获取(OJ)
  3. java,倒置后的顺序为3,2,1_java 程序设计题库
  4. 边缘检测robert原理_在操作机器视觉检测过程中,遇到检测精度的难题怎么办?_西旺科技...
  5. Enterprise Library +Caliburn.Micro+WPF CM框架下使用企业库验证,验证某一个属性,整个页面的文本框都变红的原因...
  6. understanding the Euler Lagrange equation
  7. nefu 984 我是一个粉刷匠
  8. rtmp推流工具_EV录屏推流抖音直播教程——墨涩网
  9. 易语言解压服务器中压缩包,易语言取压缩包中的文件列表源码
  10. USB TYPE A B C 引脚定义
  11. CSS度量单位px/pt/em/in/pc/mm/cm
  12. APP在推广之渠道为王(三 )
  13. 火车头采集html文档没内容,火车头采集器:编辑任务中常见问题
  14. c语言的三个基本语句,C语言-桂林理工大学3-第三章 C程序设计的基本语句.doc
  15. 【分享Oracle练习二】
  16. Apache Kafka 在 360 的深度实践
  17. 测试理论 | 测试分析主要方法
  18. 如何将webp免费转改成jpg格式?
  19. 如何彻底删除Mac磁盘中的文件
  20. 高考必胜,归来仍是少年!

热门文章

  1. 浅谈信号处理三大变换
  2. Manacher算法(马拉车算法)
  3. 通过js实现文字合成语音并播报
  4. 【关键词排名点击软件】网站关键词挖掘常用的五个工具
  5. 微信小程序中引入 UI 组件库(Vant Weapp)
  6. pyqt QListView详细用法
  7. 将bat文件转化成exe
  8. 【安安教具】-【工具】-【随机点名】模拟器 教你如何用python制作随机点名器
  9. java实现进制转换
  10. python 字符编码识别及转换