ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: sanshiqy

[求助] 求助:从txt文件夹中找出有问题的unit的数据

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-2-2 16:31 | 显示全部楼层
本帖最后由 wanghan519 于 2024-2-2 18:38 编辑
sanshiqy 发表于 2024-2-2 11:58
我想再请问一下,可以将有问题的unit的3个值提取出来吗?如果没有就忽略,有的话就放在后面C:%users\pz9z ...

用缩进检查failed所在段落,不知道逻辑是否正确,需要小心检查

Camera Test data log.7z

479.33 KB, 下载次数: 13

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-2-2 16:52 | 显示全部楼层
Python自动化来参与一下:
# @Version: 1.0
# @Author : 汤灏
# @File   : testPandas1.1.py
# @Time   : 2024/2/2 16:29
import os,re,openpyxl
import pandas as pd
dir=r'D:\PythonProject\pythonLearning\ExcelHome\从txt文件夹中找出有问题的unit的数据\Camera Test data log\all'
df_list=[]
for file in os.listdir(dir):
    if file.endswith('.txt'):
        with open((full_path:=os.path.join(dir,file)),'r',encoding='utf-8') as f:
            content=f.read()
            pat_serial_num = re.compile(r'\b\w{14}\b')
            serial_num = pat_serial_num.findall(content)
            print(serial_num[0])

            pat_date = re.compile(r'Date:\s+([A-Z].+2024)\b')
            dateExtract = pat_date.findall(content)
            print(dateExtract[0])

            pat_time = re.compile(r'\d:\d{2}:\d{2} [AP]M')
            timeExtract = pat_time.findall(content)
            print(timeExtract[0])

            pat_failed = re.compile(r'\b(\d.+?):\s+Failed')
            failedExtract = pat_failed.findall(content)
            print(failedExtract)

            # sdf=pd.DataFrame([
            #     {
            #         "Serial number":serial_num,
            #         "Date":dateExtract,
            #         "Time":timeExtract,
            #         "Unit":failedExtract,
            #         "Failed":['failed']*len(failedExtract)
            #     }]
            # )
            # print(sdf)
            s1 = pd.Series(serial_num[0], name='S')
            s2 = pd.Series(dateExtract, name='D')
            s3 = pd.Series(timeExtract, name='T')
            s4 = pd.Series(failedExtract, name='U')
            s5=pd.Series(['失败']*len(failedExtract),name='Failed')
            if failedExtract:
                sdf = pd.DataFrame([s1, s2, s3, s4,s5]).T.reindex(range(len(failedExtract)+1))
                df_list.append(sdf)


fdf=pd.concat(df_list)
print(fdf)
fdf.to_excel('sss1.xlsx',index=False)

PixPin_2024-02-02_16-51-58.png

sss1.zip

6.34 KB, 下载次数: 3

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-3 12:16 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
wanghan519 发表于 2024-2-2 16:31
用缩进检查failed所在段落,不知道逻辑是否正确,需要小心检查

老师的数据都对,只是有一些数据我不想要,不知道能不能修改:
1,UUT Result 这一行我不需要
2. 后面没有显示Failed的如果我不想要的话,能不能删除
C:\Users\Administrator\Desktop\Camera Test data log\2.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-3 12:18 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

很完美,谢谢老师!

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-3 12:20 | 显示全部楼层
cztanghao 发表于 2024-2-2 16:52
Python自动化来参与一下:
# @Version: 1.0
# @Author : 汤灏

Python虽然还不会,但不影响想学的心情,等我略微入门后再请教您,谢谢老师!

TA的精华主题

TA的得分主题

发表于 2024-2-3 17:25 | 显示全部楼层
sanshiqy 发表于 2024-2-3 12:16
老师的数据都对,只是有一些数据我不想要,不知道能不能修改:
1,UUT Result 这一行我不需要
2. 后面 ...

有了数据,筛选一下应该就行
图片.png


评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-6 10:38 | 显示全部楼层
wanghan519 发表于 2024-2-3 17:25
有了数据,筛选一下应该就行

也对,我好笨,谢谢老师!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-18 21:53 , Processed in 0.040244 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表