今天需要将一个 Excel 文件里的度分秒格式的经纬度转换成十进制格式,因为需要进行一些处理,格式没统一就很烦。所以要先判断它是不是度分秒格式,如果是,就把它转换成十进制格式,代码实现还是比较简单,最近也不知道更新什么内容,就在此分享一下,Python 将经纬度度分秒转换成十进制的方法。
文章目录
隐藏
一、解决方法
二、其他 Python 教程
一、解决方法
几行代码就行了:
import re longitude_split = re.split(u"°|\'|\"", longitude[i])[:3] if len(longitude_split) == 3: x = [float(j) for j in longitude_split] longitude[i] = x[0] + x[1] / 60 + x[2] / 3600
需要注意一下你们的度分秒的标点符号,自己 print 一下看看然后替换成对应的使用的标点符号,因为可能是中文符号或者别的符号也说不定,符号不对应上是正则匹配不出来的。
判断长度为 3 则是度分秒,否则就是长度为 1 的十进制格式,无需转换。
二、其他 Python 教程
不知道写点什么其他的,摘录一下之前记录的其他 Python 相关文章。
- 《Python Round Robin 算法和实现》
- 《Python 3 字典不包含 dict.has_key() 方法》
- 《Python Requests 频繁请求网站时返回“[Errno 104] Connection reset by peer”错误的解决方法》
- 《Python Pandas 三行代码将 txt 文件转换成 csv 文件》
- 《Python 调用 FFmpeg 提示 module ‘ffmpeg’ has no attribute ‘input’ 的解决方法》
- 《在 macOS 上安装 FFmpeg 并通过 Python 调用的方法》
- 《Python3 正则匹配 match 函数提示 TypeError: ‘_sre.SRE_Match’ object is not subscriptable 的解决方法》