国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Python的數(shù)據(jù)批處理探討與應用

2022-03-06 01:07牛常領畢德贇
城市勘測 2022年1期
關鍵詞:批處理空間數(shù)據(jù)批量

牛常領,畢德贇

(1.青島市勘察測繪研究院,山東 青島 266032; 2.青島市西海岸基礎地理信息中心有限公司,山東 青島 266000;3.青島市海陸地理信息集成與應用工程研究中心,山東 青島 266000)

1 引 言

日常數(shù)據(jù)處理工作中,往往會遇到大批量、有規(guī)則的數(shù)據(jù),且需要重復性的操作;目前市場上已經(jīng)出現(xiàn)了眾多的數(shù)據(jù)處理軟件,但需要按照軟件設定好的類型和規(guī)則進行,由于數(shù)據(jù)結構多種多樣,有些數(shù)據(jù)即便有一定的規(guī)則,也很難找到現(xiàn)成的數(shù)據(jù)處理軟件來實現(xiàn)數(shù)據(jù)的快速批量處理。因此,目前有些批量的數(shù)據(jù)處理還仍然依賴手動進行,這樣既難以保證數(shù)據(jù)處理結果的質(zhì)量,又消耗大量的人力,降低了數(shù)據(jù)處理的效率[1]。為避免重復性工作、提高數(shù)據(jù)處理效率、減少手動操作,從大量數(shù)據(jù)中分析數(shù)據(jù)規(guī)則并進行快速交互地批量處理仍然有著廣泛的實際需求[2~5]。

從大量數(shù)據(jù)中抽取具有一定規(guī)則的數(shù)據(jù)集,并對這些具有共性特征的大量數(shù)據(jù)集通過軟件編程的方式進行快速交互地批量處理或加工,以提高作業(yè)效率,顯得日益重要[6,7]。在數(shù)據(jù)處理與分析方面,Python作為一種不受局限、跨平臺的開源編程語言,具有廣泛的應用領域[8~11],對編程有基本的了解即可很好地使用它。Python在數(shù)據(jù)批處理方面具有明顯的優(yōu)勢,利用少量的代碼、通過調(diào)用其自帶的標準庫以及豐富的第三方數(shù)據(jù)處理包,可快速實現(xiàn)對文本文檔、Excel文件、地理空間數(shù)據(jù)等各類數(shù)據(jù)的批處理。本文結合工作實踐,探討Python在數(shù)據(jù)批量處理中的常見應用,以期為數(shù)據(jù)批處理方面提供切實可行的實踐思路。

2 Python編譯工具

Python作為一種簡潔高效的語言深受廣大程序員的喜愛,其上手簡單、代碼易讀、跨系統(tǒng)移植以及包含大量的功能類庫等特點,使其在提高數(shù)據(jù)處理效率、實現(xiàn)數(shù)據(jù)的自動化批處理等方面得到廣泛的應用。Python除了自帶的標準庫外,還包含了大量的第三方功能庫,只需通過pip指令便可自動下載安裝,使得Python編程變得更加容易,功能更加強大。

Python常用的編輯工具有PyCharm、Jupyter、VisualStudio等,PyCharm適合大項目研發(fā),Jupyter適合做科學研究,Visual Studio適合一般開發(fā),可根據(jù)實際需求選擇對應的編譯工具,以Visual Studio 2017簡要說明基于Visual Studio編譯工具Python的使用。

Visual Studio 2017安裝時工作負載中勾選Python即可完成Python3.6版本的安裝。在Visual Studio 2017中新建Python應用程序解決方案后,可設置Python環(huán)境、安裝Python包、卸載Python包、添加Python類文件等操作,如圖1所示。

利用Visual Studio 2017里的擴展和更新功能,可以添加一些常用的功能插件,如通過聯(lián)機搜索關鍵字highlight,安裝Highlight all occurrences of selected word插件,可以選擇相同變量使其高亮。

圖1 VisualStudio2017中Python常見操作

3 Python數(shù)據(jù)批處理應用實例

下面分別以文本文件數(shù)據(jù)、Excel文件數(shù)據(jù)以及地理空間數(shù)據(jù)為例,給出利用Python實現(xiàn)數(shù)據(jù)批處理操作的相關過程。

3.1 圖形用戶界面設置

Tkinter是Python的標準GUI庫,使用Tkinter可以快速創(chuàng)建GUI應用程序。通過導入Tkinter模塊、創(chuàng)建窗口與控件以及指定控件的父窗口等操作創(chuàng)建GUI,通過控件的command綁定函數(shù)為控件賦予操作,具體流程如圖2所示,設置的用戶界面如圖3所示。

圖2 用戶界面設置流程

圖3 用戶界面

3.2 文本文檔數(shù)據(jù)批處理

土地供應過程中,需要土地使用單位按照標準提供txt的地塊坐標文件,數(shù)據(jù)入庫過程中,需將大量的txt坐標文件轉(zhuǎn)成shp文件,如圖4所示。通過Python編寫的腳本,在不足2分鐘的時間實現(xiàn)了對 2 000多宗地塊的快速批量處理。通過Python將txt坐標文件轉(zhuǎn)為地理矢量shp文件的步驟主要包括導入模塊、按照規(guī)則讀取txt文件、生成shp文件,具體流程如圖5所示。

圖4 文本文檔批量轉(zhuǎn)矢量數(shù)據(jù)

圖5 文本文檔轉(zhuǎn)矢量數(shù)據(jù)流程

3.3 Excel文件數(shù)據(jù)批處理

Excel是日常工作中經(jīng)常用到的辦公軟件,在處理數(shù)據(jù)方面有著優(yōu)異的性能,通過Python提供的Excel處理第三方庫,可實現(xiàn)Excel數(shù)據(jù)的批量快速處理。某執(zhí)勤人員可能負責多個執(zhí)勤點,在Excel表中按照人員進行管理,其執(zhí)勤點坐標在一個表格單元中,為了實現(xiàn)執(zhí)勤點位的空間化落圖,需要將坐標分開、并將各坐標對應的其余數(shù)據(jù)保留,如圖6所示。

利用Python處理Excel文件步驟主要包括下載并導入第三方庫、獲取Excel信息、按規(guī)則處理數(shù)據(jù)并保存處理后的數(shù)據(jù),具體流程如圖7所示。通過Python編寫的腳本,在不足1分鐘的時間實現(xiàn)了近萬行數(shù)據(jù)的批量處理。

圖6 數(shù)據(jù)示例

圖7 Excel數(shù)據(jù)流程

3.4 地理空間數(shù)據(jù)批處理

ArcGIS地理處理工具一般只針對單個數(shù)據(jù)集執(zhí)行,而運用Python語言中的ArcPy庫[12~15],通過少量的代碼編寫,可對地理空間數(shù)據(jù)進行批處理。以地理空間數(shù)據(jù)的批量裁切為例,用58個分圖圖則范圍對二級陸域數(shù)據(jù)進行批量裁切,以獲取各圖則所包含的陸域數(shù)據(jù),如圖8所示。利用Python實現(xiàn)地理空間數(shù)據(jù)批量裁切的操作步驟如圖9所示:

圖8 批量裁切示例

圖9 批量裁切操作流程

3.5 Python可執(zhí)行文件生成

圖形用戶界面編譯完成后,Python提供了把代碼文件編譯成.exe可執(zhí)行文件的方法,只要復制可執(zhí)行文件就可以在其他電腦上運行,既保證了代碼的安全又方便代碼使用。常見的將Python源文件編譯為可執(zhí)行文件方法有pyinstaller工具或py2exe工具。

方法一:通過pyinstaller工具將Python文件編譯為可執(zhí)行文件步驟如下:

第一步:安裝pyinstaller工具。利用pip install pyinstaller語句進行安裝,pyinstaller.exe默認安裝到Python路徑的Scripts子路徑下。

第二步:通過語句“pyinstaller選項Python源文件”進行編譯。cmd中輸入盤符f,利用語句“cd F:Program Files(x86)Microsoft Visual StudioSharedPython36_64Scripts”進入pyinstaller.exe程序路徑,輸入“pyinstaller-F-w mycode.py”,在dist子路徑下得到可執(zhí)行文件。

方法二:通過py2exe將調(diào)用ArcPy庫的Python文件編譯成可執(zhí)行文件步驟如下:

第一步:安裝py2exe工具。下載并安裝py2exe-0.6.9.win32-py2.7.exe,py2exe默認安裝到Python27路徑的Scripts子路徑下:C:Python27ArcGIS10.3Scripts。

第二步:編寫腳本文件setup.py準備打包。

fromdistutils.core import setup;import py2exe;

script="rE:make oshp2.py"#入口文件options={'py2exe':{"excludes":["arcpy"]}};

setup(windows=[script],options=options);

第三步:在Python源文件中添加如下代碼,以獲取arcpy路徑。

from site import addsitedir;from sys import executable;from os import path;

interpreter=executable;sitepkg=path.dirname(interpreter)+\site-packages;

addsitedir(sitepkg);

第四步:通過語句“Python文件路徑py2exe”生成可執(zhí)行文件。通過Python E://setup.py py2exe語句,在C:Python27ArcGIS10.3路徑下生成build(可刪除)和dist(包含可執(zhí)行文件)文件。

(5)ArcGIS相關文件路徑設置。ArcGISdist文件下新建sit-packages文件,并添加Desktop10.3.pth文件,文件內(nèi)容為電腦安裝的ArcGIS相關路徑。

F:Program Files(x86)ArcGISDesktop10.3in;

F:Program Files(x86)ArcGISDesktop10.3ArcPy;

F:Program Files(x86)ArcGISDesktop10.3ArcToolBoxScripts;

C:Python27ArcGIS10.3Libsite-packages; C:Python27ArcGIS10.3Lib

4 結 語

工作中往往會遇到大批量、有規(guī)則的數(shù)據(jù),且需要重復性的操作,通過數(shù)據(jù)分析,利用Python編寫腳本語言,可實現(xiàn)數(shù)據(jù)的批量處理,大大減輕工作量并能提高數(shù)據(jù)處理的準確率。本文結合工作實踐,探討了Python在文本文檔、Excel文件、地理空間文件數(shù)據(jù)批量處理中的常見應用,為數(shù)據(jù)批處理方面提供了切實可行的實踐思路。

猜你喜歡
批處理空間數(shù)據(jù)批量
批量精裝房項目工程信息管理綜述
云南:鐵路“520”運輸鮮花4萬余件 高鐵批量運輸創(chuàng)新高
批量提交在配置分發(fā)中的應用
惡意批處理文件導致電腦黑屏、反復重啟、無響應的原因分析及應對思路
不裝軟件批處理為文件夾加鎖
GIS空間數(shù)據(jù)與地圖制圖融合技術
借助批處理 讓Cortana變聰明
網(wǎng)格化存儲的幾項關鍵技術分析
批處理天地.文件分類超輕松