合并两个文本文件的内容

2024-09-04 22:32

本文主要是介绍合并两个文本文件的内容,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 需求

把两个文本文件的内容合并到一个文件中,且并不要求文件中行的顺序保持不变。

且适用于两个文本文件中有较多的数据是完全一样的,仅存在少量不一致的地方。


2. 方案

因为两个文本文件中的存在

把两个文件的内容读到list中,然后再转换成set类型,最后取并集即可。


3. 实现代码

def merge_text_file(first_filename, second_filename, merged_filename):'''Merge two text files, the sequence of two file's content maybe changed.example:	source_file_1 = "a.txt" source_file_2 = "b.txt"merged_file = "merged.txt"merge_text_file(source_file_1, source_file_2, merged_file)'''first_list = open(first_filename, 'r').read().split('\n')second_list = open(second_filename, 'r').read().split('\n')result_set = set(first_list) | set(second_list)result_list = list(result_set)result_list.sort()result_file = open(merged_filename, "w")for item in result_list:temp = item.strip()if temp == "": continueresult_file.write(temp + '\n')result_file.close()

4. 使用示例

import file_utilitiesdef _write_temp_file(filename, values):f = open(filename, "w")for value in values:f.write(value + '\n')f.close()def _test():first_values = ["first", "second"]second_values = ["first", "third"]first_filename = "first_abcdefghijklmn.xyz"second_filename = "second_abcdefghijklmn.xyz"merged_filename = "merged_abcdefghijklmn.xyz"_write_temp_file(first_filename, first_values)_write_temp_file(second_filename, second_values)file_utilities.merge_text_file(first_filename, second_filename, merged_filename)# assert the resultresult = open(merged_filename, "r").read().split('\n')result.remove('')print "result:", resultresult = set(result)expected_result = set(['first', 'second', 'third'])print "expected result:", expected_resultif result == expected_result:print "PASS"else:print "FAIL"if __name__ == '__main__':_test()

运行结果:

D:\examples\python\file_utilities>python test_merge_text_file.py
result: ['first', 'second', 'third']
expected result: set(['second', 'third', 'first'])
PASSD:\examples\python\file_utilities>





这篇关于合并两个文本文件的内容的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1137217

相关文章

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.

使用Python合并 Excel单元格指定行列或单元格范围

《使用Python合并Excel单元格指定行列或单元格范围》合并Excel单元格是Excel数据处理和表格设计中的一项常用操作,本文将介绍如何通过Python合并Excel中的指定行列或单... 目录python Excel库安装Python合并Excel 中的指定行Python合并Excel 中的指定列P

基于C#实现PDF文件合并工具

《基于C#实现PDF文件合并工具》这篇文章主要为大家详细介绍了如何基于C#实现一个简单的PDF文件合并工具,文中的示例代码简洁易懂,有需要的小伙伴可以跟随小编一起学习一下... 界面主要用于发票PDF文件的合并。经常出差要报销的很有用。代码using System;using System.Col

Python视频剪辑合并操作的实现示例

《Python视频剪辑合并操作的实现示例》很多人在创作视频时都需要进行剪辑,本文主要介绍了Python视频剪辑合并操作的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录介绍安装FFmpegWindowsMACOS安装MoviePy剪切视频合并视频转换视频结论介绍

不删数据还能合并磁盘? 让电脑C盘D盘合并并保留数据的技巧

《不删数据还能合并磁盘?让电脑C盘D盘合并并保留数据的技巧》在Windows操作系统中,合并C盘和D盘是一个相对复杂的任务,尤其是当你不希望删除其中的数据时,幸运的是,有几种方法可以实现这一目标且在... 在电脑生产时,制造商常为C盘分配较小的磁盘空间,以确保软件在运行过程中不会出现磁盘空间不足的问题。但在

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专

在C#中合并和解析相对路径方式

《在C#中合并和解析相对路径方式》Path类提供了几个用于操作文件路径的静态方法,其中包括Combine方法和GetFullPath方法,Combine方法将两个路径合并在一起,但不会解析包含相对元素... 目录C#合并和解析相对路径System.IO.Path类幸运的是总结C#合并和解析相对路径对于 C