盤點一個使用Python自動化處理GPS、北斗經緯度數據實戰(下篇)

大家好,我是皮皮。

一、前言

上一篇文章我們使用了Python來實現數據的導入和分列處理,最終可以得到符合預期的結果,不過還可以繼續深挖優化下,這一篇文章一起來看看吧。優化的背景如下圖所示:

image.png

二、實現過程

這裏【瑜亮老師】繼續給了一個優化指導,如下圖所示:

image.png

並且給出的代碼如下:

with open("./GpsSnr.txt", "r", encoding="utf-8") as f:
    txt = f.readlines()
regex =r"\((\d+,\d+\.\d+)\)"
temp = [re.findall(regex, x) for x in txt]
df = pd.DataFrame(temp)
# 這樣保存下來的就是經緯度在一起的
# df.to_excel('GpsSnr1.xlsx', index=False)

# 下面是把經緯度分開
data = []
for i in df.columns:
    data.append(df[i].str.split(',', expand=True))
df = pd.concat(data, axis=1)
df.columns = [a+str(b) for a in ['gps','glnoss','beidou'] for b in range(10)]
# print(df.head())
df.to_excel('GpsSnr2.xlsx', index=False)

下圖是部分指導:

image.png

順利地解決了粉絲的問題。

其實分成3列更容易進行研究,比如需要對分類爲beidou,經緯度在某個範圍內的數據進行研究,分成3列這種只需要進行簡單的篩選就可以提取出來數據。而分成30列的,就需要對columns進行提取,再處理經緯度,比較麻煩。後來【瑜亮老師】還繼續推演,感興趣的小夥伴們也可以嘗試下哦。

image.png

三、總結

大家好,我是皮皮。這篇文章主要盤點了一個Python自動化辦公的問題,文中針對該問題,給出了具體的解析和代碼實現,幫助粉絲順利解決了問題。

最後感謝粉絲【灰崽】提問,感謝【瑜亮老師】、【王者級混子】給出的思路和代碼解析,感謝【甯同學】、【莫生氣】、【kim】、【🐯厚德載物🍀】、【FANG.J】等人蔘與學習交流。

【提問補充】溫馨提示,大家在羣裏提問的時候。可以注意下面幾點:如果涉及到大文件數據,可以數據脫敏後,發點demo數據來(小文件的意思),然後貼點代碼(可以複製的那種),記得發報錯截圖(截全)。代碼不多的話,直接發代碼文字即可,代碼超過50行這樣的話,發個.py文件就行。

image.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章