当前位置: 首页 > article >正文

Python按要求从多个txt文本中提取指定数据

基本想法

遍历文件夹并从中找到文件名称符合我们需求的多个.txt格式文本文件,并从每一个文本文件中,找到我们需要的指定数据,最后得到所有文本文件中我们需要的数据的集合

举例

如现有名为file一个文件夹,里面含有大量的.txt格式文本,需要从文件名中找到含有test字段的文件,并且取出name是李四、李五、王五的用户数据。

代码示例

# -*- coding: utf-8 -*-

import os
import pandas as pd

def concat_data(ori_path, target_list):
    result_df = pd.DataFrame()
    for file in os.listdir(ori_path):
        if file.endswith(".txt") and file[0:4] == "test":
            file_path = os.path.join(ori_path, file)
            df = pd.read_csv(file_path, delimiter="\t")
            # try:
            select_df = df[df["Name"].isin(target_list)]
            data_append = select_df
            if not data_append.empty:
                result_df = pd.concat([result_df, data_append])
            # except:
            #     pass
    # result_df.reset_index(drop=False, inplace=True).drop(['index'], axis=1)
    result_df.to_csv(ori_path + '/result.csv', encoding='ANSI')
    return result_df


if __name__ == '__main__':
	f_path = r"D:\program"
	f_var = ['李四', '李五', '王五']
    concat_data(f_path, f_var)

原始数据

在这里插入图片描述

结果展示
在这里插入图片描述


http://www.kler.cn/news/157097.html

相关文章:

  • 卷积神经网络(CNN):艺术作品识别
  • 【算法每日一练]-图论(保姆级教程 篇6(图上dp))#最大食物链 #游走
  • redis的缓存击穿,缓存穿透,缓存雪崩
  • 2023年抗量子加密的十件大事
  • java后端redis缓存缓存预热
  • Ubuntu开机出现Welcome to emergency mode解决办法
  • 【qml入门系列教程】:qml QtObject用法介绍
  • c++ day5
  • Windows下打包C++程序无法执行:无法定位程序输入点于动态链接库
  • PTA 7-225 sdut-C语言实验- 冒泡排序中数据交换的次数
  • 继承 多态 拆箱装箱 128陷阱 枚举类
  • 【Java】类和对象之超级详细的总结!!!
  • PPT NO.4 更改PPT“另存为”分辨率
  • java中一个空的Object对象在HotSpot虚拟机中占用多大的内存空间?
  • Vue3 组合式实现 带连接线的Tree型 架构图(一级树形图)
  • 基于springboot + vue框架的网上商城系统
  • Android多用户初探
  • vscode里面使用vue的一些插件,方便开发
  • Spring Security 6.x 系列(8)—— 源码分析之配置器SecurityConfigurer接口及其分支实现
  • MySQL官网推荐书籍
  • 【接口测试】POST请求提交数据的三种方式及Postman实现
  • 【广州华锐视点】机械零件拆装VR仿真教学系统
  • 【EI会议征稿】第五届人工智能与机电自动化国际学术会议(AIEA 2024)
  • bad_python
  • Vue3实现一个拾色器功能
  • TimeGPT:时间序列预测模型实例
  • TDA4开发环境Docker化
  • 《系统架构设计师教程(第2版)》第2章-计算机系统基础知识-01-计算机硬件
  • Spring中通知是什么
  • Redis7--基础篇4(Redis事务)