从本地文本文件中删除基本值

时间:2013-09-14 15:01:57

标签: python excel web-scraping screen-scraping extract

我想从下面的字符串中删除值。 Source是本地文本文件。什么是最简单/最简单的解决方案。假设编程知识最少:)

<set label=\'Mon+Sep+10\' value=\'48644.54\'/><set label=\'Tue+Sep+11\' value=\'47912.02\'/><set label=\'Wed+Sep+12\' value=\'52219.28\'/><set label=\'Thu+Sep+13\' value=\'49854.88\'/>

1 个答案:

答案 0 :(得分:0)

这应该让您了解要遵循的程序:

# Open the local file
fo = open(file-name)

# read the file - this assumes it is the first line
line = fo.readline() 

# close the file
fo.close()

# Use a regular expression to find the specific groups
import re
mos = re.finditer(r"value=\\'([\d.]+)\\'", line)

for m in mos:
    print m.group(1)

给出:

48644.54
47912.02
52219.28
49854.88

mos返回的re.finditer使我们能够遍历match个对象,这就是for循环所做的事情。 match对象中感兴趣的方法(函数)是group(),它返回每个括号组中的数据,数据在( )内匹配。

您是否希望以此形式进行循环取决于您之后要对数据执行的操作。

正则表达式按如下方式分解:

r" "始终使用带有正则表达式的原始字符串,它更安全

value=\\' \\'请注意,两个 \字符是必需的。 a \是一个特殊的角色,但是增加一个\删除它的特殊含义。

([\d.]+)括号将与此模式匹配的数据分组。 [\d.]+表示“一个或多个数字(数字)或点”。