# 读取原始文本内容
with open("input.txt", "r") as file:
lines = file.readlines()
output_lines = []
# 处理每一行数据
for line in lines:
values = line.strip().split("\t")
# 判断第一个值是否已存在于结果列表中
if values[0] in [line.split("\t")[0] for line in output_lines]:
# 如果已经出现过,则直接追加剩余的值到之前出现的行数据的后面
for i, line in enumerate(output_lines):
if line.startswith(values[0]):
output_lines[i] = line.strip() + "\t" + "\t".join(values[1:])
break
else:
# 如果是第一次出现,则将整行数据添加到结果列表中
output_lines.append(line.strip())
# 去掉空行
output_lines = [line for line in output_lines if line != ""]
# 写入输出结果到文件
with open("output.txt", "w") as file:
file.write("\n".join(output_lines))
源txt文本数据:
5.0 4.39 1.62
4.5 4.39 1.62
4.0 4.39 1.62
3.5 4.39 1.62
3.0 4.39 1.62
2.9 4.39 1.62
2.8 4.39 1.62
2.7 4.39 1.62
2.6 4.39 1.62
2.5 4.39 1.62
2.4 4.39 1.62
2.3 4.39 1.62
2.2 4.39 1.62
2.1 4.39 1.62
2.0 4.39 1.62
1.9 4.39 1.62
1.8 0 1.72
1.7 0.00 1.70
1.6 0.00 1.60
1.5 0.00 1.50
1.4 0.00 1.40
1.3 0.00 1.30
1.2 0.00 1.20
1.1 0.00 1.10
1.0 0.00 1.00
5.0 4.39 1.63
4.5 4.39 1.63
4.0 4.39 1.63
3.5 4.39 1.63
3.0 4.39 1.63
2.9 4.39 1.63
2.8 4.39 1.63
2.7 4.39 1.63
2.6 4.39 1.63
2.5 4.39 1.63
2.4 4.39 1.63
2.3 4.39 1.63
2.2 4.39 1.63
2.1 4.39 1.63
2.0 4.39 1.63
1.9 4.39 1.63
1.8 0.00 1.75
1.7 0.00 1.70
1.6 0.00 1.60
1.5 0.00 1.50
1.4 0.00 1.40
1.3 0.00 1.30
1.2 0.00 1.20
1.1 0.00 1.10
1.0 0.00 1.00
..............
运行以上代码后,将会生成一个转换后的文件 "output.txt",其中的内容如下所示:
5.0 4.39 1.62 4.39 1.62 4.39 1.63 4.39 1.63 4.39 1.64 4.40 1.64 4.40 1.61 4.40 1.63 4.40 1.62 4.40 1.62 4.40 1.63
4.5 4.39 1.62 4.39 1.62 4.39 1.63 4.39 1.63 4.39 1.64 4.40 1.64 4.40 1.62 4.40 1.63 4.40 1.62 4.40 1.62 4.40 1.63
4.0 4.39 1.62 4.39 1.62 4.39 1.63 4.40 1.63 4.39 1.64 4.40 1.64 4.40 1.62 4.40 1.63 4.39 1.62 4.40 1.62 4.40 1.63
3.5 4.39 1.62 4.39 1.62 4.39 1.63 4.39 1.63 4.39 1.64 4.40 1.64 4.40 1.62 4.40 1.63 4.40 1.62 4.40 1.62 4.40 1.63
3.0 4.39 1.62 4.39 1.62 4.39 1.63 4.40 1.63 4.39 1.64 4.40 1.64 4.40 1.62 4.40 1.63 4.40 1.62 4.40 1.62 4.40 1.63
2.9 4.39 1.62 4.39 1.62 4.39 1.63 4.40 1.63 4.39 1.64 4.40 1.64 4.40 1.62 4.40 1.63 4.40 1.62 4.40 1.62 4.40 1.64
2.8 4.39 1.62 4.39 1.62 4.39 1.63 4.40 1.63 4.39 1.64 4.40 1.64 4.40 1.62 4.40 1.63 4.40 1.62 4.40 1.62 4.40 1.63
2.7 4.39 1.62 4.39 1.62 4.39 1.63 4.40 1.63 4.39 1.64 4.40 1.64 4.40 1.62 4.40 1.63 4.40 1.62 4.40 1.62 4.40 1.63
2.6 4.39 1.62 4.39 1.62 4.39 1.63 4.40 1.63 4.39 1.64 4.40 1.64 4.40 1.62 4.40 1.63 4.40 1.62 4.40 1.62 4.40 1.63
2.5 4.39 1.62 4.39 1.62 4.39 1.63 4.40 1.63 4.39 1.64 4.40 1.64 4.40 1.62 4.40 1.63 4.40 1.62 4.40 1.62 4.40 1.63
2.4 4.39 1.62 4.39 1.62 4.39 1.63 4.40 1.63 4.39 1.64 4.40 1.64 4.40 1.62 4.40 1.63 4.39 1.62 4.40 1.62 4.40 1.63
2.3 4.39 1.62 4.39 1.62 4.39 1.63 4.40 1.63 4.39 1.64 4.40 1.64 4.40 1.62 4.40 1.63 4.40 1.62 4.40 1.62 4.40 1.64
2.2 4.39 1.62 4.39 1.62 4.39 1.63 4.39 1.63 4.39 1.64 4.40 1.64 4.40 1.62 4.40 1.63 4.40 1.62 4.40 1.62 4.40 1.64
2.1 4.39 1.62 4.39 1.62 4.39 1.63 4.40 1.63 4.39 1.64 4.40 1.64 4.40 1.62 4.40 1.63 4.40 1.62 4.40 1.62 4.40 1.64
2.0 4.39 1.62 4.39 1.62 4.39 1.63 4.39 1.63 4.39 1.64 4.40 1.64 4.40 1.62 4.40 1.63 4.40 1.62 4.40 1.62 4.40 1.64
1.9 4.39 1.62 4.39 1.62 4.39 1.63 4.39 1.63 4.39 1.64 4.40 1.64 4.40 1.62 4.40 1.63 4.40 1.62 4.40 1.62 4.40 1.63
1.8 0 1.72 0 1.72 0.00 1.75 0.00 1.75 0.00 1.71 0.00 1.73 0.00 1.74 0.00 1.73 0.00 1.72 0.00 1.72 0.00 1.72
1.7 0.00 1.70 0.00 1.70 0.00 1.70 0.00 1.70 0.00 1.70 0.00 1.70 0.00 1.70 0.00 1.70 0.00 1.70 0.00 1.70 0.00 1.70
1.6 0.00 1.60 0.00 1.60 0.00 1.60 0.00 1.60 0.00 1.60 0.00 1.60 0.00 1.60 0.00 1.60 0.00 1.60 0.00 1.60 0.00 1.60
1.5 0.00 1.50 0.00 1.50 0.00 1.50 0.00 1.50 0.00 1.50 0.00 1.50 0.00 1.50 0.00 1.50 0.00 1.50 0.00 1.50 0.00 1.50
1.4 0.00 1.40 0.00 1.40 0.00 1.40 0.00 1.40 0.00 1.40 0.00 1.40 0.00 1.40 0.00 1.40 0.00 1.40 0.00 1.40 0.00 1.40
1.3 0.00 1.30 0.00 1.30 0.00 1.30 0.00 1.30 0.00 1.30 0.00 1.30 0.00 1.30 0.00 1.30 0.00 1.30 0.00 1.30 0.00 1.30
1.2 0.00 1.20 0.00 1.20 0.00 1.20 0.00 1.20 0.00 1.20 0.00 1.20 0.00 1.20 0.00 1.20 0.00 1.20 0.00 1.20 0.00 1.20
1.1 0.00 1.10 0.00 1.10 0.00 1.10 0.00 1.10 0.00 1.10 0.00 1.10 0.00 1.10 0.00 1.10 0.00 1.10 0.00 1.10 0.00 1.10
1.0 0.00 1.00 0.00 1.00 0.00 1.00 0.00 1.00 0.00 1.00 0.00 1.00 0.00 1.00 0.00 1.00 0.00 1.00 0.00 1.00 0.00 1.00
在这个例子中,只有第一列数据出现了一次,后面的数据被追加到之前出现的行数据的后面。如果某个值已经在之前的行数据中出现过,则将剩余的值追加到该行数据的末尾。请根据实际情况修改文件名和路径,并根据需要对代码进行调整。
标签:文本,Python,0.00,4.39,4.40,1.64,1.63,1.62,txt From: https://www.cnblogs.com/cloud-sword/p/17727841.html