你好呀,汪同学! 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 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?