首页 > 编程语言 >Python txt文本内容转换

Python txt文本内容转换

时间:2023-09-25 14:24:08浏览次数:40  
标签:文本 Python 0.00 4.39 4.40 1.64 1.63 1.62 txt

# 读取原始文本内容
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

相关文章

  • 【Python入门教程】Python实现猜数字小游戏
    ​    今天跟大家分享一下很久之前自己做的一款猜数字小游戏,基本的循环判断语句即可实现,可以用来当练手或者消磨时间用。    大家在编代码的时候最重要就是先理清逻辑思路,例如应该套几层循环、分几个模块等等。然后在编码时可以先随意一点,变量名、函数等可以先......
  • python 排序
    在您的代码中,排序函数中的`elem`是一个未定义的变量,因此会导致`NameError`错误。在Python中,`elem`不是一个内置变量,您需要使用实际的变量或表达式来代替。从您提供的数据和示例代码来看,您似乎希望按照每个子列表中的第一个元素进行排序。为了修复错误,您可以使用lambda函......
  • python 使用selenium 获取js渲染后的页面信息
    一、介绍二、代码三、问题 一、介绍现在的网站以及页面,一般都是js动态渲染,抓到的信息就与实际不符,所以需要加载js的工具,这里使用的就是seleniumSelenium是一个用于自动化测试的工具,可以模拟浏览器的行为来执行各种操作。在爬虫中,我们可以使用Selenium对网页进行......
  • Python dataclass 如何让传入的 field 为 None 时自动转化为默认值?
    一般dataclass的字段可以设置default或default_factory生成默认值,当传入参数时,默认值不会生效。但是,有些情况下受限于外部调用环境,某些参数缺失时,以None的形式存在,而非创建dataclass实例时不传入参数。这种情况下,可能会希望传入的None被识别到并转化为默认值。fromd......
  • 【Python】Main函数的使用方法
    Start在Python中,类(Class)本身没有main函数。但是,您可以在类中定义一个方法(例如main),然后在类的实例中调用该方法。在Python中,通常使用if__name__=="__main__":来检查当前模块是否作为主程序运行。如果是,则执行相应的代码。下面是一个简单的示例,说明如何在Python类中定义一个mai......
  • python基础 循环嵌套
    嵌套语句使用星号打印foriinrange(1,6):forxinrange(1,i+1):print('*',end='')print('')foriinrange(1,6):forxinrange(i,6):print('*',end='')print('')99乘法表  while......
  • python的配置文件 ini 类型/json类型
    ini类型会把所有的value都改成str类型,而json会保持原本value的类型不变。1.ini/cnf等类型配置文件cfg.cfg[mysql]host="10.12.7.154"port=31066user="root"password="xxx"charset="utf8"database="project_database"使用配置文件from......
  • python去除某列固定数字对应的整行方法
     想去除month列里的1,2,3,4,10,11,12月对应的行留下5,6,7,8,9月#!usr/bin/envpython#-*-coding:utf-8-*-"""@author:Su@file:deletestaion.py@time:2023/09/22@desc:"""importpandasaspddf=pd.read_excel('/lianxi/SPI.xlsx�......
  • 用python脚本计算某一个文件的行数
    python可以统计文件的行数,你相信吗?不管你信不信反正我信了。下面我们来看一下python怎样统计文件的行数,代码很简单,我也做了注释,很简单的实现。。。123456789101112131415161718192021#_*_coding:utf_8#引入sys和系统os模块import sys import os '''计算某一个文件的行数'''def......
  • (转)Python描述数据结构之线索二叉树篇
    原文:https://blog.csdn.net/qq_42730750/article/details/108285846前言  本篇章主要介绍线索二叉树,包括线索二叉树的基本概念、构造及遍历,并用Python实现其创建及其遍历等操作。1.基本概念  上篇博客介绍的二叉链表的存储结构体现的只是一种父子关系,它不能直接得到结点在......