Ucla_MIT 2023-07-21 00:15 采纳率: 0%
浏览 11

批量提取多个txt文本中的数据,并将这些数据存入新的txt文本中,该怎么实现?

批量提取多个txt文本中的数据,并将这些数据存入新的txt文本中,该怎么实现?
如图是文件夹中的txt文件

img

下图红线框内是需要提取的数据

img

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-07-21 02:04
    关注
    • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7477709
    • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:读取txt文件中某些行并存入另一个txt文件
    • 除此之外, 这篇博客: 将图片按txt格式进行存储,对txt文件批量读取中的 将图片存储为txt文件代码 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • '''
      本代码以UC数据集为例子,UC数据集共包含21类,每一类图片包含100张图片
      其中class_label_dict为UC数据集label,
      '''
      import numpy as np
      import os
      
      
      class_label_dict = {'agricultural': 0,
                         "airplane": 1,
                         "baseballdiamond": 2,
                         "beach": 3,
                         "buildings": 4,
                         "chaparral": 5,
                         "denseresidential": 6,
                         "forest": 7,
                         "freeway": 8,
                         "golfcourse": 9,
                         "harbor": 10,
                         "intersection": 11,
                         "mediumresidential": 12,
                         "mobilehomepark": 13,
                         "overpass": 14,
                         "parkinglot": 15,
                         "river": 16,
                         "runway": 17,
                         "sparseresidential": 18,
                         "storagetanks": 19,
                         "tenniscourt": 20
                         }
      file_path = "G:/UC"                                  #此处为文件存放位置
      path_list = os.listdir(file_path)                 #会历遍文件夹内的文件并返回一个列表
      path_name=[]
      
      for i in path_list:
         path_name.append(file_path+"/"+i+" "+str(class_label_dict[i[:-6]]))
      
      # 排序一下
      path_name.sort()
      
      
      train_path = []
      test_path = []
      trains_idx = []
      tests_idx = []
      for i in range(21):
         start = i * 100
         end = (i + 1) * 100
         idx = np.arange(start, end)
         np.random.shuffle(idx)
         train_idx = idx[0:80]
         test_idx = idx[80:]
         trains_idx.extend(train_idx)
         tests_idx.extend(test_idx)
      path_name = np.array(path_name)
      train_path = path_name[trains_idx]
      test_path = path_name[tests_idx]
      for file_name in path_name:
         # "a"表示以不覆盖的形式写入到文件中,当前文件夹如果没有"save.txt"会自动创建
         with open("data.txt", "a") as f:
             f.write(file_name + "\n")
         f.close()
      
      for file_name in train_path:
         # "a"表示以不覆盖的形式写入到文件中,当前文件夹如果没有"save.txt"会自动创建
         with open("train.txt", "a") as f:
             f.write(file_name + "\n")
         f.close()
      for file_name in test_path:
         # "a"表示以不覆盖的形式写入到文件中,当前文件夹如果没有"save.txt"会自动创建
         with open("test.txt", "a") as f:
             f.write(file_name + "\n")
         f.close()
      
      

      输出txt文件的格式为 文件位置+文件名+label形式 ,如下图所示:
      在这里插入图片描述

    评论

报告相同问题?

问题事件

  • 修改了问题 7月21日
  • 创建了问题 7月21日

悬赏问题

  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件