
為什么要讀取文件
?如果程序需要輸入很多數(shù)據(jù),簡(jiǎn)單到統(tǒng)計(jì)一次考試的一個(gè)班學(xué)生的成績(jī),復(fù)雜至基因簇相互作用。一般處理這些大量數(shù)據(jù)的方式,當(dāng)然不是手敲鍵盤(pán)啦。
?對(duì)于這種狀況,如同我們之前學(xué)習(xí)的 R語(yǔ)言 一樣,Python 也可以用到將來(lái)自外部文件導(dǎo)入數(shù)據(jù)的方法。
?首先我們得找到自己的數(shù)據(jù)文件——
- 如果數(shù)據(jù)文件和腳本文件不在同個(gè)文件夾下,或者離腳本相對(duì)很遠(yuǎn),就要用到絕對(duì)路徑
- 如果數(shù)據(jù)文件和腳本文件在同一個(gè)文件夾下,就可以用相對(duì)路徑。
第一步:打開(kāi)文件
?打開(kāi)文件的方法有兩種,使用絕對(duì)路徑、或者相對(duì)路徑。
# 絕對(duì)路徑
file = open('D:\R\Py-data\#022.txt')
# 相對(duì)路徑
file = open('..\Py-data\#022.txt')
?相對(duì)路徑和 HTML 的相對(duì)路徑的使用是一樣的,腳本文件所在的文件夾,和數(shù)據(jù)文件所在的文件夾,處于同一個(gè)項(xiàng)目文件夾下,所以先用【../】由腳本所在文件夾 出來(lái) ,到項(xiàng)目文件夾中,再用【\Py-data】進(jìn)入數(shù)據(jù)文件夾中,再用【#022.txt】打開(kāi)數(shù)據(jù)文件。
第二步:讀出數(shù)據(jù)
?和 R 不一樣的是,R 讀取數(shù)據(jù)是直接 read.txt 、read.csv 這樣的。
nodes2 <- read.csv("D:\\RRR\\R_for_Fun\\data\\_02_network_NODES.csv", header=T, as.is=T)
?則需要先open再read,兩步操作(暫時(shí),其實(shí)后面還是有相似的)
file = open('..\Py-data\#022.txt')
data = file.read()
print(data)
file.close()
?對(duì)文件的操作完成之后,如果不再使用這個(gè)數(shù)據(jù)文件,最好使用 close() 關(guān)閉文件,釋放資源。雖然在我們這個(gè)學(xué)習(xí)程序里面沒(méi)有多大影響,但是這個(gè)會(huì)影響到以后大型、對(duì)復(fù)雜數(shù)據(jù)、龐大數(shù)據(jù)的處理速度。所以還是請(qǐng)?zhí)嵩琊B(yǎng)成好的習(xí)慣。