首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从大型非矩形文本中提取数据

从大型非矩形文本中提取数据
EN

Stack Overflow用户
提问于 2014-01-07 18:04:54
回答 1查看 70关注 0票数 0

我有一个很大的非矩形文本文件,需要从中提取数据。我更喜欢用Python,但Matlab也不错。我想要从“相关”的名称中提取的数据如下所示:

类麦克风(2列)

01 02 ( CLASS和MIKE的最后2个数字)

03 04

05 06

下面是一个文本文件的例子,名字为“相关”的段落是随机出现的。每条记录由两个空行分隔。

代码语言:javascript
复制
-CLASS 36463601  
-NAME RELEVANT  
-FAX -PHONE OSCAR -NO 36468500  
-FAX -PHONE LIMA -NO 745674600  
-FAX -PHONE DELTA -NO 46778400  
-FAX -PHONE MIKE NO 74757502   
-HOME 3232


-CLASS 36463603  
-NAME RELEVANT  
-FAX -PHONE OSCAR -NO 36468500  
-FAX -PHONE LIMA -NO 745674600  
-FAX -PHONE DELTA -NO 46778400  
-FAX -PHONE BRAVO -NO 46778400  
-FAX -PHONE MIKE NO 74757504     
-HOME 3232  


-CLASS 36463600  
-NAME NOT RELEVANT  
-FAX -PHONE OSCAR -NO 36468500  
-FAX -PHONE LIMA -NO 745674600  
-FAX -PHONE DELTA -NO 46778400  
-FAX -PHONE BRAVO -NO 46778400  
-FAX -PHONE MIKE NO 74757503   
-HOME 3232  


-CLASS 36463605  
-NAME RELEVANT  
-FAX -PHONE OSCAR -NO 36468500  
-FAX -PHONE LIMA -NO 745674600  
-FAX -PHONE DELTA -NO 46778400  
-FAX -PHONE BRAVO -NO 46778400  
-FAX -PHONE MIKE NO 74757506     
-HOME 3232  

我们非常感谢您的任何意见。

EN

回答 1

Stack Overflow用户

发布于 2014-01-07 18:32:36

嗯,你没有尝试任何事情,所以我不会给出任何代码。但我可以分享我用来解析数据的算法。有了这个,我相信当你在实现某些东西时遇到麻烦时,你应该能够问一些具体的问题。另外,我尽量接近pythonic表达式,所以一切都应该很容易转换成实际的代码。

这将在整个文件和缓冲行中爬行,直到两个空行。如果在处理过程中存在相关行,则存储缓冲区。它实际上是一个简单的状态机。linesrelevant_records可以是python列表。

代码语言:javascript
复制
1. For each `line` in text file:
 1.1. if `line` is empty then `empty_lines++` else append `line` to `lines`.
 1.2. if `empty_lines == 2` then:
   1.2.1. if `record_relevant` then output/save `lines` 
          (e.g relevant_records.append(lines))
   1.2.2. `record_relevant = false`
   1.2.3. `empty_lines = 0`
   1.2.4. `lines = []` #clear buffer
 1.3. if `line` contains `NAME RELEVANT` then `record_relevant = true`.

如果最后一条记录后面没有两个空行,则还应该调用1.2.1-4

您可以将其分组为函数和类,以使其更美观,更好地设计和维护。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20968774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档