Python替换任何以'lat'开头的单词

时间:2018-06-04 12:02:19

标签: python

我收到了许多不同的csv文件,每个文件都包含纬度和经度数据。但他们的标题被称为不同的名称。 现在我真的想重命名标题,以便它们都被称为相同。但我不想指定可能存在的每个组合,我只想重命名每个列标题,以“lat”或“lon”开头。

所以我的标题看起来像这样:

  • File1标题:Lat_WGS84,Lon_WGS84
  • File2标题:纬度(°),经度(°)
  • File3标题: lat,long

现在我的第一个想法是制作一个str.replace('lat*','lat'),但这不起作用,然后我尝试了re.sub()的许多组合,但它对我不起作用。

有人知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

使用re.sub

<强>演示:

import re
s = """File1 header: Lat_WGS84, Lon_WGS84

File2 header: Latitude(°), Longitude(°)

File3 header: lat, long 
"""
s = re.sub("lat.*,", 'lat', s, flags=re.IGNORECASE)
s = re.sub("lon.*", r'lon', s, flags=re.IGNORECASE)
print(s)

<强>输出:

File1 header: lat lon

File2 header: lat lon

File3 header: lat lon

答案 1 :(得分:0)

re.sub("^[Ll]at\w+","lat",line)

希望这会有所帮助。同样明智的你也可以为经度做出贡献。