分析數據的時候,使用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()
效果: