2017-07-01 218 views
-1

我需要解決什麼問題?使用matplotlib從Excel工作表(.csv)文件中檢索數據;

ValueError        Traceback (most recent call last) 
<ipython-input-53-56f3e9d938be> in <module>() 
    11  plots=csv.reader(csvfile, delimiter=',') 
    12  for row in plots: 
---> 13   x.append(int(row[1])) 
    14   y.append(int(row[2])) 
    15 

ValueError: invalid literal for int() with base 10: 'Open' 

from matplotlib import pyplot as plt 
import csv 

x=[] 
y=[] 


with open('/Users/thomasmac/Desktop/Orbital/SPLS.csv', 'r') as csvfile: 
plots=csv.reader(csvfile, delimiter=',') 
for row in plots: 
    x.append(int(row[0])) 
    y.append(int(row[1])) 



plt.plot(x,y) 

plt.title('SPLS') 
plt.ylabel('returns') 
plt.xlabel('Share price') 

plt.show() 
+1

你閱讀是「打開」的文件中所做的第一個字。 「打開」不是一個數字,因此是錯誤。 – ImportanceOfBeingErnest

+0

我如何將開放轉換爲int或float? ,或讓程序知道打開不是# –

回答

0

我們無法知道解決什麼,因爲我們沒有有關輸入文件的完整信息。但似乎你正在讀一個帶有標題的csv文件。這可以很容易地與numpy.loadtxtnp.genfromtxt

import matplotlib.pyplot as plt 
import numpy as np 

x, y = np.genfromtxt("filename.csv", delimiter=",", skip_header=1, unpack=True) 

plt.plot(x,y) 

plt.title('SPLS') 
plt.ylabel('returns') 
plt.xlabel('Share price') 

plt.show()