使用matplotlib从Excel工作表(.csv)文件中检索数据;

问题描述:

我需要解决什么问题?使用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? ,或让程序知道打开不是# –

我们无法知道解决什么,因为我们没有有关输入文件的完整信息。但似乎你正在读一个带有标题的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()