要按每行最后一个单词的数值对文本文件进行排序,我们需要执行以下步骤:
下面是一个使用Python语言实现上述功能的示例代码:
def sort_file_by_last_word_value(file_path, output_path=None):
# 读取文件内容
with open(file_path, 'r') as file:
lines = file.readlines()
# 解析每行的最后一个单词并转换为数值,然后存储为一个元组列表
parsed_lines = []
for line in lines:
words = line.strip().split()
if words: # 确保行不为空
try:
# 尝试将最后一个单词转换为浮点数
value = float(words[-1])
parsed_lines.append((value, line.strip()))
except ValueError:
# 如果转换失败,忽略这一行
print(f"Skipping line due to invalid number: {line.strip()}")
# 根据数值排序
sorted_lines = sorted(parsed_lines, key=lambda x: x[0])
# 输出或保存排序后的内容
if output_path:
with open(output_path, 'w') as file:
for _, line in sorted_lines:
file.write(line + '\n')
else:
for _, line in sorted_lines:
print(line)
# 使用示例
sort_file_by_last_word_value('input.txt', 'output.txt')
应用场景:
可能遇到的问题及解决方法:
参考链接:
领取专属 10元无门槛券
手把手带您无忧上云