2017-04-20 14 views
0

PyCharmのPythonに関する非常に基本的な助けが必要です。私は.txtファイルから数値の2つの列を抽出しようとしています(ただし、各列の数値は変化します)。これまでのところ私のコードです。Pythonでtxtファイルから2列の数値を抽出してプロットする

pacient = str(input("Please enter your the name of the pacient: ")) 
Pname = pacient+'.txt' 
print(Pname) 
file = open(Pname,"r") 
print (file.read()) 

# what i need in here is save the first column of the .txt in 't' and the second one in 'v'. 



import matplotlib.pyplot as plt 
plt.plot(t, v) 
plt.xlabel('time (v)') 
plt.ylabel('Velocity (m/s)') 
plt.title(pacient+"plot") 
plt.savefig("test.png") 
plt.show() 

答えて

0

あなたはファイル読み取りにcsvモジュールを使用することができます:あなたが何ができるか

import csv 

t = [] 
v = [] 
with open(Pname, "r") as patient_f: 
    csv_f = csv.reader(patient_f, delimieter='delimiter_between_columns') 
    for row in csv_f: 
     t.append(row[0]) 
     v.append(row[1]) 
0

をあなたのための列を注文する使用numpyのである:numpyののない

import numpy as np 
file = np.loadtxt("filename.txt", delimiter=',') #do not need delimiter if your file is not csv. 
t = file[:,0] 
v = [:,1] 

plt.plot(t, v) 
plt.show() 
plt.xlabel('time (v)') 
plt.ylabel('Velocity (m/s)') 
plt.title(pacient+"plot") 
plt.savefig("test.png") 
plt.show() 

別の方法:

file = open('filename.txt').readlines() 
file = [map(int, i.strip('\n').split()) for i in file] 
new_data = [list(i) for i in zip(*file)] 

plt.plot(new_data[0], new_data[1]) 
plt.show() 
関連する問題