【发布时间】:2013-04-01 01:01:17
【问题描述】:
假设我有一个如下所示的 txt 文件(它显然不是“文本文本”,我只是表明它是不相关的文本块)
text text text
text text text
text text text
important section age=30
name=mike
text text text
text text text
text text text
我想解析它并仅将“重要部分”输出到 csv,以便我的 csv 如下所示,即一列中的年龄和另一列中的名称
age name
30 mike
我应该怎么做?珀尔?赛德?我对这两个都不太熟悉,但希望有一个足够简单的解决方案。
Churoba 实际上为我完美地回答了上述问题,但我担心我过于简化了我的实际文本文件,它更像是下面
Something:
this
Something else:
that
Something else:
etc.
Sales
2011 Sales:
€3,000
()
2010 Sales:
€2,000
()
2011 Growth Rate:
50.00%
Contact Details
我最理想的输出是
2011 Sales 2010 Sales 2011 Growth Rate
3,000 2,000 50.00%
不幸的是,这使事情变得非常复杂。输出不必与上面完全相同,但尽可能接近
【问题讨论】:
-
那么,您如何判断什么是有意义的行 - 是因为它以年份开头吗?还是因为它末尾有一个冒号?所有带有欧元符号的行都有意义吗?他们面前总是只有一个空间吗?在你写任何东西之前,你至少需要有一些规则,这样你和代码才能确切地知道你对什么感兴趣
-
编辑后的示例本质上是我要解析的文件的镜像,所以我知道我需要关注“销售”和“联系方式”之间的所有文本。然后我需要为“2011 Sales”创建列(并在其下方的行中包含 3,000),为“2010 Sales”创建列(在下方的一行中包含 2,000)等等。