你好呀,汪同学! 2023-03-01 18:35 采纳率: 82.1%
浏览 18
已结题

python文本替换实现

现有txt 文件,文件内容如下

12c   1672563202   104.132   30.667   0.0   2340.3
1c3   1672563212   103.940459   30.62462   0.0   11293.0
14v   1672563212   103.9666   30.57333   54.6   1703.0
15x   1672563212   104.241817   30.504   0.0   3616.0
12c   1672563212   104.1583   18.66567   0.0   2340.3
z12   1672563222   103.940459   30.6462   0.0   11293.0
222   1672563222   103.902  20.573006   53.6   1703.0
123   1672563222   104.24115   30.597   0.0   3616.0
1f1   1672563222   104.137   30.668   29.7   2340.3

现在想把第一列用数字替换了,相同的用相同的值。这个python代码怎么写,试了好久用了很多方法都没办法替换

  • 写回答

1条回答 默认 最新

  • CodeBytes 2023-03-01 18:45
    关注

    该回答引用ChatGPT
    你可以使用Python中的字典数据结构来实现替换。以下是一个示例代码,可以帮助你实现将第一列用数字替换,相同的用相同的值。

    
    # 读取原始文件内容
    with open('filename.txt', 'r') as f:
        content = f.readlines()
    
    # 去除每行末尾的换行符
    content = [x.strip() for x in content]
    
    # 创建一个字典,用于存储每个不同的第一列值和对应的数字
    id_dict = {}
    id_num = 1
    
    # 替换第一列的值
    for i, line in enumerate(content):
        cols = line.split()
        if cols[0] not in id_dict:
            id_dict[cols[0]] = id_num
            id_num += 1
        cols[0] = str(id_dict[cols[0]])
        content[i] = ' '.join(cols)
    
    # 将新内容写入文件
    with open('filename.txt', 'w') as f:
        f.write('\n'.join(content))
    
    
    

    解释:

    读取文件内容并去除每行末尾的换行符。
    创建一个字典id_dict,用于存储每个不同的第一列值和对应的数字id_num。
    遍历每行数据,对于每个不同的第一列值,将其替换为对应的数字,并在字典中存储。
    将新内容写回到文件中。
    这个示例代码可以处理任何数量的行和不同的第一列值,并保留文件中原有的格式。你可以将文件名filename.txt替换为你实际的文件名。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月9日
  • 已采纳回答 3月1日
  • 修改了问题 3月1日
  • 创建了问题 3月1日

悬赏问题

  • ¥15 BV260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序