Python讀取文件(txt,csv,xls)

分析數據的時候,使用Python十分方便,這裏總結一下具體實現方式,以免總是上網查詢

 
 

open函數

想用python讀取文件(如txt、csv等),第一步要用open函數打開文件。

open()是python的內置函數,它會返回一個文件對象,這個文件對象擁有read、readline、readlines、write、close等方法。

open函數原型:

open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)
file: 需要打開的文件名稱(同時注意文件位置)
mode:打開文件後的操作權限,類似於c的文件操作:
	'r'       只讀 (默認模式)
    'w'       只寫,覆蓋原內容
    'x'       打開新文件,只寫
    'a'       只寫打開文件,如果文件存在則在末尾追加新內容
    'b'       二進制模式
    't'       text mode (default)
    '+'       打開磁盤文件並更新 (讀寫)

 

 

close函數

f = open(file) # 打開文件
f.close() # 關閉文件

 
 

readlines函數

readlines方法是讀取所有行,返回的是所有行組成的列表,且每一行數據是一個字符串儲存在列表中.

f = open(file) # 打開文件
data = f.readlines()
f.close() # 關閉文件

 
讀取到的字符串,如果需要分割數據時,使用字符串分割函數:

str.split()
 
 

write函數

將字符串寫入到文件裏。

f.write([str]) # f爲文件對象

 
 

writelines函數

與write不同的是,writelines可以傳入字符序列,即可以傳入字符列表,而write只能傳入字符串.

fp = open("readlines.txt","w+")
l = ["1023","1024","1025"]
fp.writelines(l)
#fp.write(l) 報錯
fp.close()

 
 

例程

讀取xls文件,然後將數據按照(x,y)座標對畫在畫布上

import matplotlib.pyplot as plt
with  open('JntPos1.xls') as f1:
    contents1 = f1.readlines()

    n1 = len(contents1)

    x1 = []
    y1 = []
    for i in range(n1):
        data = contents1[i].split('\t')
        x1.append(float(data[0]))
        y1.append(float(data[1]))
    plt.plot(x1, y1, 'r')
    plt.grid(True)
    plt.axis("equal")
    plt.show()
    f1.close()



效果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章