亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        牛常領(lǐng),畢德贇

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

        1 引 言

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

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

        2 Python編譯工具

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

        Python常用的編輯工具有PyCharm、Jupyter、VisualStudio等,PyCharm適合大項(xiàng)目研發(fā),Jupyter適合做科學(xué)研究,Visual Studio適合一般開(kāi)發(fā),可根據(jù)實(shí)際需求選擇對(duì)應(yīng)的編譯工具,以Visual Studio 2017簡(jiǎn)要說(shuō)明基于Visual Studio編譯工具Python的使用。

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

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

        圖1 VisualStudio2017中Python常見(jiàn)操作

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

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

        3.1 圖形用戶界面設(shè)置

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

        圖2 用戶界面設(shè)置流程

        圖3 用戶界面

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

        土地供應(yīng)過(guò)程中,需要土地使用單位按照標(biāo)準(zhǔn)提供txt的地塊坐標(biāo)文件,數(shù)據(jù)入庫(kù)過(guò)程中,需將大量的txt坐標(biāo)文件轉(zhuǎn)成shp文件,如圖4所示。通過(guò)Python編寫(xiě)的腳本,在不足2分鐘的時(shí)間實(shí)現(xiàn)了對(duì) 2 000多宗地塊的快速批量處理。通過(guò)Python將txt坐標(biāo)文件轉(zhuǎn)為地理矢量shp文件的步驟主要包括導(dǎo)入模塊、按照規(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)異的性能,通過(guò)Python提供的Excel處理第三方庫(kù),可實(shí)現(xiàn)Excel數(shù)據(jù)的批量快速處理。某執(zhí)勤人員可能負(fù)責(zé)多個(gè)執(zhí)勤點(diǎn),在Excel表中按照人員進(jìn)行管理,其執(zhí)勤點(diǎn)坐標(biāo)在一個(gè)表格單元中,為了實(shí)現(xiàn)執(zhí)勤點(diǎn)位的空間化落圖,需要將坐標(biāo)分開(kāi)、并將各坐標(biāo)對(duì)應(yīng)的其余數(shù)據(jù)保留,如圖6所示。

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

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

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

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

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

        圖8 批量裁切示例

        圖9 批量裁切操作流程

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

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

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

        第一步:安裝pyinstaller工具。利用pip install pyinstaller語(yǔ)句進(jìn)行安裝,pyinstaller.exe默認(rèn)安裝到Python路徑的Scripts子路徑下。

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

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

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

        第二步:編寫(xiě)腳本文件setup.py準(zhǔn)備打包。

        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);

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

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

        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 結(jié) 語(yǔ)

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

        猜你喜歡
        批處理批量空間數(shù)據(jù)
        批量提交在配置分發(fā)中的應(yīng)用
        元數(shù)據(jù)驅(qū)動(dòng)的多中心空間數(shù)據(jù)同步方法研究
        淺議高校網(wǎng)銀批量代發(fā)
        基于PSD-BPA的暫態(tài)穩(wěn)定控制批處理計(jì)算方法的實(shí)現(xiàn)
        基于AUTOIT3和VBA的POWERPOINT操作題自動(dòng)批量批改
        考慮價(jià)差和再制造率的制造/再制造混合系統(tǒng)生產(chǎn)批量研究
        基于文件系統(tǒng)的分布式海量空間數(shù)據(jù)高效存儲(chǔ)與組織研究
        客戶端空間數(shù)據(jù)緩存策略
        多源空間數(shù)據(jù)同名實(shí)體幾何匹配方法研究
        批處理天地.文件分類超輕松
        欧美拍拍视频免费大全| 亚洲国产不卡av一区二区三区 | 精品熟妇av一区二区三区四区| 男女激情视频网站免费在线| 成人中文乱幕日产无线码| 波多野结衣一区二区三区高清| 色噜噜狠狠色综合中文字幕| 日韩va高清免费视频| 无套熟女av呻吟在线观看| 福利体验试看120秒| 无码Av在线一区二区三区| 亚洲视频在线免费观看一区二区 | 五月天激情婷婷婷久久| 北岛玲日韩精品一区二区三区| 亚洲av成人波多野一区二区| 无套内射在线无码播放| 伊伊人成亚洲综合人网香| 999精品免费视频观看| 日本人妻高清免费v片| 少妇伦子伦情品无吗| 成人h动漫精品一区二区| 久久国产A∨一二三| 亚洲天堂av一区二区| 久久青青草原亚洲av无码麻豆| 国产精品刺激好大好爽视频| 一本大道综合久久丝袜精品| 亚洲国产av自拍一区| 欧美日韩亚洲tv不卡久久| 啪啪网站免费观看| 在线日本国产成人免费精品| 免费视频爱爱太爽了| 欧洲中文字幕| 日韩亚洲国产中文字幕| 久久精品国产亚洲av果冻传媒| 日产精品久久久久久久蜜臀| 无遮挡很爽视频在线观看 | 成人国产精品免费视频| 手机在线中文字幕国产| 干日本少妇一区二区三区| 国产69精品久久久久999小说| 一本大道在线一久道一区二区|