【发布时间】:2018-06-04 12:02:18
【问题描述】:
我收到了许多不同的 csv 文件,每个文件都包含纬度和经度数据。但是它们的标题被称为不同的名称。 现在我真的很想重命名标题,以便它们都被称为相同的。但我不想指定每个可能存在的组合,我只想重命名以“lat”或“lon”开头的每个列标题。
所以我的标题可以是这样的:
- 文件 1 标头: Lat_WGS84、Lon_WGS84
- 文件2标题:纬度(°),经度(°)
- File3 标头: lat、long
- 等
现在我的第一个想法是创建一个str.replace('lat*','lat'),但这不起作用,然后我尝试了re.sub() 的多种组合,但它对我不起作用。
有人知道如何解决这个问题吗?
【问题讨论】:
-
你试过什么正则表达式?
re.sub("^[Ll]at.*","lat",line)应该可以工作 -
re.sub(r'lon.\w, ','lon,', str) re.sub('lon.*,' , 'lon,' str) re.sub(' lon*,' , 'lon', str)
-
您确定只是想将每个文件的第一行替换为
lat, long否? -
请通过minimal reproducible exampleedit 提出您的问题。目前还不清楚为什么它不起作用
-
你为什么需要它?什么时候(在任何处理之前的文件处理)?其他列怎么办?如果多列以 lat 开头(
lat_dms和lat_dd)怎么办?目前还不清楚...
标签: python