基於python批量處理dat檔案及科學計算的方法

來源:互聯網
上載者:User
這篇文章主要介紹了關於基於python批量處理dat檔案及科學計算的方法,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

摘要:主要介紹一些python的檔案讀取功能,檔案內容修改,檔案名稱尾碼更改等操作。

批次檔功能

import ospath1 = 'C:\\Users\\awake_ljw\\Documents\\python for data analysis\\test1'path2 = 'C:\\Users\\awake_ljw\\Documents\\python for data analysis\\test2'filelist = os.listdir(path1)for files in filelist: Olddir = os.path.join(path1,files) filename = os.path.splitext(files)[0] filetype = os.path.splitext(files)[1] print Olddir file_test = open(Olddir,'r') Newdir = os.path.join(path2,str(filename)+'.csv') print Newdir file_test2 = open(Newdir,'w') for lines in file_test.readlines(): strdata = ",".join(lines.split('\t')) file_test2.write(strdata) file_test.close() file_test2.close()

os模組是python最基礎的模組之一,一般用於檔案處理等操作。上面這段代碼主要就是將dat檔案轉化為csv檔案,同時保證csv可讀。一般txt檔案不能通過直接改尾碼改變呈csv檔案格式,一般會造成檔案不可讀。csv檔案一般通過逗號分隔文本,資料處理起來較得心應手,可以直接改尾碼得到xlsx檔案,一般excel也可讀。

科學計算

matlab作為一門科學計算程式設計語言,在科學計算的應用實在廣泛,包括webread等強大的函數用起來十分順手,但matlab是商業軟體,並不免費。其實,python在科學計算效率或函數庫功能包括其繪圖功能、影像處理都很強大,(相比matlab,python的調色盤更出色)。以下列舉一些資料檔案讀取,繪圖的一些基本操作作為參考。

資料提取及繪圖

#資料提取import os import pandas as pdimport numpy as npnumber = -1;sudu=np.zeros(5247*5,dtype=float).reshape(5247,5)for files in filelist1: number +=1 data = pd.read_csv(str(number+1)+'a.csv') sudu[:,number]=data['velocity'] x = data['x'] y = data['y']a = sudu[0:5184,0].reshape(81,64)%matplotlib inlineimport matplotlib.pyplot as pltextent = [np.min(x),np.max(x),np.min(y),np.max(y)]plt.subplot(231)u0 = sudu[0:5184,0].reshape(81,64)plt.imshow(u0,extent=extent,origin='lower')plt.subplot(232)u1 = sudu[0:5184,1].reshape(81,64)plt.imshow(u1,extent=extent,origin='lower')plt.subplot(233)u2 = sudu[0:5184,2].reshape(81,64)plt.imshow(u2,extent=extent,origin='lower')plt.subplot(234)u3 = sudu[0:5184,3].reshape(81,64)plt.imshow(u3,extent=extent,origin='lower')#plt.axis("equal")plt.subplot(235)u4 = sudu[0:5184,4].reshape(81,64)plt.imshow(u4,extent=extent,origin='lower')plt.subplot(236)u5 = sudu[0:5184,4].reshape(81,64)plt.imshow(u5,extent=extent,origin='lower')#contourcs = plt.contour(u5, 20,extent = extent)plt.xlim(-0.8,0.8)plt.ylim(0.6,2.2)plt.axis('equal')

python的科學計算功能與matlab及其相似,python有幾點不同在於

1.python有元組的資料類型,元組不同於列表,元組不可更改

2.python的資料檢索使用[]

總而言之,python的資料形式及其豐富。

numpy以及pandas是python用於資料處理的兩個庫,具體使用方法主要推薦python科學計算這本書。matplotlib用於繪圖,剛也說了,其調色盤很厲害哦,映像品質不錯。

預告:代碼運行環境均為jupyter notebook,簡直神器一般的存在,網上搭建的資料也太多。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.