我收到了许多不同的csv文件,每个文件都包含纬度和经度数据。但他们的标题被称为不同的名称。 现在我真的想重命名标题,以便它们都被称为相同。但我不想指定可能存在的每个组合,我只想重命名每个列标题,以“lat”或“lon”开头。
所以我的标题看起来像这样:
现在我的第一个想法是制作一个str.replace('lat*','lat')
,但这不起作用,然后我尝试了re.sub()
的许多组合,但它对我不起作用。
有人知道如何解决这个问题吗?
答案 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)
希望这会有所帮助。同样明智的你也可以为经度做出贡献。