以下是一个示例代码,演示了如何实现“不同目录中相同文件的最后一列进行水平连接”的解决方法。假设我们有两个目录 dir1 和 dir2,它们包含相同文件名的文件,每个文件有多行数据,我们想要将每个文件的最后一列进行水平连接。
import os
def get_last_column(file_path):
with open(file_path, 'r') as file:
lines = file.readlines()
last_column = [line.strip().split()[-1] for line in lines]
return last_column
def horizontal_concatenation(dir1, dir2):
# 获取两个目录下的所有文件名
dir1_files = os.listdir(dir1)
dir2_files = os.listdir(dir2)
# 获取两个目录中相同文件名的文件路径
common_files = set(dir1_files) & set(dir2_files)
# 水平连接相同文件的最后一列
for file_name in common_files:
file1_path = os.path.join(dir1, file_name)
file2_path = os.path.join(dir2, file_name)
last_column1 = get_last_column(file1_path)
last_column2 = get_last_column(file2_path)
# 水平连接最后一列
horizontal_concatenation = zip(last_column1, last_column2)
# 打印结果
print(f"Horizontal Concatenation of {file_name}:")
for item in horizontal_concatenation:
print(item)
# 示例使用
dir1 = './dir1' # dir1 目录路径
dir2 = './dir2' # dir2 目录路径
horizontal_concatenation(dir1, dir2)
请注意,上述代码仅用于演示目的,可能需要根据实际情况进行适当修改。