用Python将第一个txt第二列和第二个txt第一列对应,然后那一行再合并
5条回答 默认 最新
檀越@新空间 2024-04-14 14:19关注下午好🌅🌅🌅
本答案参考ChatGPT-3.5-
首先需要确定两个txt文件的编码格式是否相同,如果不同需要进行转换,使其编码一致。
-
然后需要读取两个txt文件的数据,将其存储在内存中进行合并。
-
对于合并的步骤,需要注意第一个txt第二列和第二个txt第一列对应,可以考虑使用python中的字典数据结构,将第一个txt第二列的值作为key,第二个txt第一列的值作为value,然后遍历第一个txt中的每一行,用它对应的key去查找字典中的value,如果有值就合并。
-
最后将合并的数据写入到新的txt文件中。
代码实现如下:
with open('file1.txt','r',encoding='utf-8') as f1, open('file2.txt','r',encoding='utf-8') as f2, open('merged_file.txt','w',encoding='utf-8') as fw: # 读取第二个文件的第一列放到字典key中,第二列放到value中 dict_file2 = {} for line in f2: key, value = line.strip().split('\t') dict_file2[key] = value # 读取第一个文件每一行的第二列,如果有对应的value,则进行合并 for line in f1: parts = line.strip().split('\t') if len(parts) != 2: continue key, value = parts if key in dict_file2: merged_line = key + '\t' + value + '\t' + dict_file2[key] + '\n' fw.write(merged_line)其中,file1.txt和file2.txt为要合并的两个文件,merged_file.txt为合并后的文件。需要注意的是,这里默认每一行都是以\t分隔的两列,如果实际情况中分隔符不同,需要进行相应的修改。
解决 无用评论 打赏 举报 编辑记录-