找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 189|回复: 8

[求助] 求教一下如何用python3来批量处理TXT文档

1

主题

6

帖子

6

积分

贫民

积分
6
radarlee 发表于 2018-4-9 11:29:15 | 显示全部楼层 |阅读模式
本帖最后由 radarlee 于 2018-4-9 13:05 编辑

大神好!想求教一下如何用python3来批量处理TXT文档,条件如下:
1.TXT文件为某程序的LOG文件,内容格式如下:

#START
BarCode=CN94BN9119624HA441K480320
StartTime=20180408101811
ProgramVersion=20.96
LogVersion=2.0
MachinIpAddress=109.122.126.201
MachinNo=2
FixtureId=2016-0649-01
InspectionFile=MU7-8-9 Q6 OCM BN41-02569A BN91-19624H.zip
AdjFile=
EepromDataFile=
RunningMode=AutoRun(NormalMode)

#TEST VALUE
2579(1519)=OK|7.2  |176|1|20180408101826|_Ax_ Power On|---|---
2563(1521)=OK|1.5  |43|2|20180408101828|Set Initialize|---|~~_~~_~~_~~_~~_~~_~~_~~_~~_~~_~~_~~_~~_~~_~~
2540(1510)=OK|0.0  |155|4|20180408101828|_Dx_ SPDIF Check|---|---
2510(1506)=OK|0.1  |112|5|20180408101847|_Sx_ DTV Inspection (SST)|OK|---
2671(1510)=ST|52.5 |269|6|20180408101939|_Sx_Digital Path Inspection: 0xE6, 0x01|No DTV Input,  No HDMI Input,  SPDIF Loopback fail,  DTV TSD LOCK fail,  |---
2535(1510)=NG|2.2  |148|9|20180408102041|_Sx_ USB Inspection|---|---

#FACTORY OPTION INFO



#END
Result=N
InspectionEndTime=20180408102054
InspectionTotalTime=150
LastRunningMode=AutoRun(NormalMode)
TestModeType=NormalInspection


2.TXT文件名不固定,如下图:

3.目的要求:在这样大量的TXT文件中,提取文档关键词并整理到EXCEL文件中。

望大神们不吝赐教!!!
捕获.JPG
回复

使用道具 举报

1

主题

6

帖子

6

积分

贫民

积分
6
radarlee  楼主| 发表于 2018-4-9 21:01:37 | 显示全部楼层
路过的大神们,能施舍个大概的思路也好
回复 支持 反对

使用道具 举报

1

主题

7

帖子

7

积分

贫民

积分
7
运维-开发 发表于 2018-4-10 17:47:41 | 显示全部楼层
发几个文件给我 ,我个你写写
回复 支持 反对

使用道具 举报

1

主题

7

帖子

7

积分

贫民

积分
7
运维-开发 发表于 2018-4-10 17:59:26 | 显示全部楼层
另外你这个是只是提取关键字放到excel中就行了吗?还是说关键字的一行都提取
回复 支持 反对

使用道具 举报

0

主题

183

帖子

183

积分

侠客

积分
183
sheeboard 发表于 2018-4-10 22:23:04 | 显示全部楼层
试了试,不过最好把要求描述详细点。
Screenshot from 2018-04-10 22-18-56.png
回复 支持 反对

使用道具 举报

0

主题

183

帖子

183

积分

侠客

积分
183
sheeboard 发表于 2018-4-11 10:17:54 | 显示全部楼层
import pandas as pd
import os
filelist=os.listdir('文件所在目录') #获取文件名如果要绝对路径可以用glob.glob
df=pd.DataFrame([])
for i in filelist:
    with open(i) as f:
        mydic={}
        for line in f:
            line=line.rstrip()
            try:
                keys,val=line.split('=')   #这里也可以用正则表达式抓取需要的项目
                mydic.update({keys:val})
            except:
                pass
        df=df.append(mydic,ignore_index=True)
df.to_excel('test.xlsx',index=None)


回复 支持 反对

使用道具 举报

1

主题

6

帖子

6

积分

贫民

积分
6
radarlee  楼主| 发表于 6 天前 | 显示全部楼层
sheeboard 发表于 2018-4-11 10:17
import pandas as pd
import os
filelist=os.listdir('文件所在目录') #获取文件名如果要绝对路径可以用glo ...

运行报错了
C:\Users\Administrator\PycharmProjects\txtread\venv\Scripts\python.exe C:/Users/Administrator/PycharmProjects/txtread/sheeboard.py
Traceback (most recent call last):
  File "C:/Users/Administrator/PycharmProjects/txtread/sheeboard.py", line 16, in <module>
    df.to_excel('test.xlsx',index=None)
  File "C:\Users\Administrator\PycharmProjects\txtread\venv\lib\site-packages\pandas\core\frame.py", line 1545, in to_excel
    engine=engine)
  File "C:\Users\Administrator\PycharmProjects\txtread\venv\lib\site-packages\pandas\io\formats\excel.py", line 643, in write
    writer = ExcelWriter(_stringify_path(writer), engine=engine)
  File "C:\Users\Administrator\PycharmProjects\txtread\venv\lib\site-packages\pandas\io\excel.py", line 837, in __init__
    if not openpyxl_compat.is_compat(major_ver=self.openpyxl_majorver):
  File "C:\Users\Administrator\PycharmProjects\txtread\venv\lib\site-packages\pandas\compat\openpyxl_compat.py", line 27, in is_compat
    import openpyxl
ImportError: No module named 'openpyxl'

Process finished with exit code 1
回复 支持 反对

使用道具 举报

1

主题

6

帖子

6

积分

贫民

积分
6
radarlee  楼主| 发表于 6 天前 | 显示全部楼层
运维-开发 发表于 2018-4-10 17:59
另外你这个是只是提取关键字放到excel中就行了吗?还是说关键字的一行都提取 ...

以上面贴出来的内容为例,我要提取的内容是这样的:
FixtureId        2016-0649-01
NG        _Sx_ USB Inspection
回复 支持 反对

使用道具 举报

1

主题

6

帖子

6

积分

贫民

积分
6
radarlee  楼主| 发表于 6 天前 | 显示全部楼层
运维-开发 发表于 2018-4-10 17:47
发几个文件给我 ,我个你写写

文件的基本内容就是这些,主要想提取FixtureId和NG的项目
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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