2017-07-01 22 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

openをintに変換する方法とfloatを変換する方法はありますか? 、またはプログラムがopenが# –

答えて

0

我々は、入力ファイルに関する完全な情報を持っていないので、私たちは、修正するために何を知ることができません。しかし、あなたはヘッダー付きのcsvファイルを読むのは難しいようです。これは、簡単にあなたが読んで、ファイルの最初の単語は、「オープン」であるnumpy.loadtxtまたはnp.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() 
関連する問題