你好呀,汪同学! 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日

悬赏问题

  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行