【发布时间】:2018-01-03 14:03:18
【问题描述】:
我正在尝试将一个包含各种股票价格的 .csv 文件导入到 getData() 函数内的 Python 脚本中,但我遇到了索引问题并且看不到如何解决问题。
我是 CSV 和 NumPy 的新手,所以不确定问题出在哪里,但是当我尝试运行此代码时,我收到以下信息:
文件“../StockPlot.py”,第 20 行,在 getData 日期[i-1] = 数据[0] IndexError:索引 0 超出轴 0 的范围,大小为 0
import numpy as np
import matplotlib.pyplot as plt
import csv
def getData():
date = np.array([])
openPrice = np.array([])
closePrice = np.array([])
volume = np.array([])
i = 1
with open('aapl.csv', 'rb') as f:
reader = csv.reader(open('aapl.csv'))
data_as_list = list(reader)
items = len(data_as_list)
while i < items:
data = data_as_list[i]
date[i-1] = data[0]
openPrice[i-1] = data[1]
closePrice[i-1] = data[4]
volume[i-1] = data[5]
i += 1
return date, openPrice, closePrice, volume
getData()
我尝试读取的 AAPL.csv 文件包含以下形式的行:
日期、开盘价、最高价、最低价、收盘价、成交量
26-Jul-17,153.35,153.93,153.06,153.46,15415545
25-Jul-17,151.80,153.84,151.80,152.74,18853932
24-Jul-17,150.58,152.44,149.90,152.09,21493160
我将不胜感激任何帮助解决这个问题,似乎 data_as_list 是每行列表的列表,并且在使用 print 函数之后,它似乎在 while 循环内打印 data[0] 等,但是不允许我将值分配给我创建的数组
【问题讨论】: