我正在编写一个Python脚本,将一些数据文件解析为geojson数据。你知道吗
现在,我有很多行,每行以一年开始,然后有12个温度读数(每个月一个),例如:
1983 5.2 -0.4 5.7 9.8 13.7 18.1 22.1 19.8 15.1 10.2 4.8 1.1
1984 1.9 0.5 2.8 8.9 13.7 15.0 16.9 19.2 13.5 11.3 4.6 0.7
1985 -5.0 -2.8 4.0 8.8 15.6 15.2 19.0 18.4 14.3 9.9 2.0 4.4
1986 0.4 -6.4 3.8 7.4 15.9 17.4 19.4 18.2 12.3 10.3 7.1 2.5
等等,我正在尝试写一个正则表达式,理想情况下,一年将进入第一个捕获组,然后所有的温度将进入下一个组,或者它们将进入单独的组。在第一种情况下,我将根据空格进行拆分,然后分别解析它们。在第二步中,我将逐个解析每个捕获组。你知道吗
我现在已经试过了,但它不起作用(要演示的缩小示例):
import re
reYear = re.compile("([0-9][0-9][0-9][0-9])([\s]*[\-]*[0-9]+[\s]*)*")
line = "1983 5.2 -0.4 5.7 9.8 13.7 18.1 22.1 19.8 15.1 10.2 4.8 1.1"
data = reYear.search(line)
print("GROUP 0: %s" % data.group(0))
print("GROUP 1: %s" % data.group(1))
这是我得到的结果:
GROUP 0: 1983 5
GROUP 1: 1983
我认为这可能是可行的,因为第一组()表示捕获4个数字,第二组表示捕获减号(或不减号)、数字和空格的一些实例。但是我真的不知道我在做什么。谢谢你的帮助。你知道吗
谢谢你!你知道吗
我建议使用.*来匹配行的其余部分。此外,d{4}是匹配四位数字的最简单方法:
这将输出:
话虽如此,您可以将整行内容拆分为空格,并将第一个元素作为年份,而完全不使用regex。你知道吗
相关问题 更多 >
编程相关推荐