如何讀取表格數(shù)據(jù)文件
表可以用一個(gè)簡(jiǎn)單的方法從制表符分隔文本文件中讀取:
table = []
for line in open('lowry_data.txt'):
table.append(line.strip().split('\t'))
第一行代碼創(chuàng)建了一個(gè)空表;第二行定義了一個(gè) for 循環(huán),遍歷給定名稱文件中的所有行亭罪,輸入文件 lowry_data.txt 包含由制表符分隔的各列,采用的是表中的數(shù)據(jù)榛泛。 這種表達(dá)方式是先 open() 耽梅,再 readlines() 款慨,最后 for 的簡(jiǎn)寫;第三行先將文件每行文本中的換行符刪除(用 strip()) ,然后將其按制表符分解為列(用 split()) 产雹,最后將行添加到嵌套列表诫惭。這段代碼值得練習(xí),它在許多程序中都會(huì)很有用蔓挖。
如何將表格數(shù)據(jù)寫入文件
為了把嵌套列表中的用制表符分隔的列表寫入一個(gè)文件夕土,有一種相似的方法是(在此, table 是以前例子所產(chǎn)生的嵌套列表) :
out =' '
for row in table:
line = [str(cell) for cell in row]
out = out +'\t'.jion(line) +'\n'
open('lowry_data.txt','w').write(out)
第一行代碼創(chuàng)建了一個(gè)空字符串來收集輸出文件的內(nèi)容;第二行代碼循環(huán)遍歷該表;第 三行代碼將一行的所有單元格轉(zhuǎn)換為字符串瘟判,并將其放人一個(gè)新的列表(如果它們已經(jīng)是字符串隘弊,那么這個(gè)步驟可省略哈踱,或者如果需要,也可以將其改為更復(fù)雜的字符串格式) 梨熙。第四行將其一行的所有單元格用制表符連接(使用 join()方法) 开镣,并添加了一個(gè)換行符(,'\n ') ; 最后將輸出字符串寫人一個(gè)新文件。此模式的變形會(huì)出現(xiàn)在許多程序中咽扇。
大量用于科研的程序通過從制表符分隔的文本文件中讀取數(shù)據(jù)邪财,并進(jìn)行數(shù)據(jù)處理,最后將結(jié)果存儲(chǔ)在另一個(gè)制表符分隔的文本文件质欲。徹底熟記這些讀寫模式無疑會(huì)非常有用树埠。 如果想知道更多關(guān)于如何寫制表符分隔或逗號(hào)分隔的文件,還可以參考 Python 的 csv 模塊嘶伟。