Python IndexError:列表索引超出范围

2024-01-04

我试图让 Python 用 500 只股票的收盘价填充列表。虽然该代码似乎只适用于少数股票,但数量过多就会带来问题。 Python 不断给我以下错误:“OneClose.append(Data[i][4]) IndexError: list index out of range.“我不知道如何解决这个问题。无论我在范围字段中输入什么(在本例中为 31),错误仍然存​​在。

raw = open('C:\Model\Stocks\list.txt', 'r').read()
stocks = raw.split('\n')

for stock in stocks:
    Data = ystockquote.get_historical_prices(stock, '20120501', '20120716')

# Create empty lists, quick and dirty
    OneClose = [ ]
    OneDate = [ ]

# Populate lists from downloaded data
    for i in range(1, 31):
        OneDate.append(Data[i][0])
        OneClose.append(Data[i][4])

Data包含:

Data = [['Date', 'Open', 'High', 'Low', 'Close', 'Volume', 'Adj Clos'], 
        ['2012-07-13', '86.32', '87.83', '86.32', '87.54', '1937700', '87.5'], 
        ['2012-07-13', '86.32', '87.83', '86.32', '87.59', '2599300', '87.5'], 
        ['2012-07-12', '86.60', '86.97', '85.34', '86.41', '4938300', '86.4'], 
        ['2012-07-11', '88.38', '88.76', '87.01', '87.85', '4208600', '87.8'], 
        ['2012-07-10', '89.08', '89.82', '87.96', '88.25', '3356800', '88.2'], 
        ['2012-07-09', '88.86', '89.08', '88.31', '88.96', '2600900', '88.9'], 
        ['2012-07-06', '88.81', '89.38', '88.35', '88.99', '2192900', '88.9'], 
        ['2012-07-05', '89.20', '89.95', '88.86', '89.57', '1924800', '89.5'], 
        ['2012-07-03', '89.11', '89.75', '89.08', '89.70', '1410400', '89.7'], 
        ['2012-07-02', '89.29', '89.69', '88.28', '89.28', '2289700', '89.2'], 
        ['2012-06-29', '88.62', '89.60', '88.35', '89.60', '4629400', '89.6'], 
        ['2012-06-28', '86.36', '87.25', '85.98', '87.16', '3267100', '87.1'], 
        ['2012-06-27', '86.39', '87.60', '86.24', '87.16', '2887800', '87.1'], 
        ['2012-06-26', '85.91', '86.47', '85.29', '86.18', '2389100', '86.1'], 
        ['2012-06-25', '85.87', '86.31', '85.46', '85.85', '2908900', '85.8'], 
        ['2012-06-22', '87.11', '87.14', '86.38', '86.83', '3026000', '86.8'], 
        ['2012-06-21', '88.04', '88.38', '86.62', '86.73', '3722800', '86.7'], 
        ['2012-06-20', '87.93', '88.28', '87.35', '87.54', '3446800', '87.5'], 
        ['2012-06-19', '87.82', '88.17', '87.52', '87.82', '3212500', '87.8'], 
        ['2012-06-18', '87.07', '87.61', '86.67', '87.31', '2950600', '87.3'], 
        ['2012-06-15', '87.57', '87.91', '87.01', '87.44', '4696100', '87.4'], 
        ['2012-06-14', '86.31', '87.23', '86.06', '86.86', '3334900', '86.8'], 
        ['2012-06-13', '86.30', '86.80', '85.72', '86.13', '3370500', '86.1'], 
        ['2012-06-12', '85.67', '86.74', '85.22', '86.73', '2570900', '86.7'], 
        ['2012-06-11', '86.54', '86.54', '85.08', '85.18', '2098200', '85.1'], 
        ['2012-06-08', '85.18', '86.09', '84.99', '86.00', '2146200', '86.0'], 
        ['2012-06-07', '85.59', '86.19', '85.33', '85.50', '3032400', '85.5'], 
        ['2012-06-06', '83.22', '84.64', '83.03', '84.63', '2776300', '84.6'], 
        ['2012-06-05', '82.59', '82.86', '82.25', '82.51', '3268700', '82.5'], 
        ['2012-06-04', '82.79', '82.99', '81.99', '82.62', '2899900', '82.6'], 
        ['2012-06-01', '83.05', '83.98', '82.72', '82.85', '3539200', '82.8'], 
        ['2012-05-31', '84.45', '85.05', '83.87', '84.41', '3683200', '84.4'], 
        ['2012-05-30', '85.06', '85.12', '84.10', '84.45', '2697100', '84.4'], 
        ['2012-05-29', '85.38', '86.00', '85.13', '85.73', '2142200', '85.7'], 
        ['2012-05-25', '84.87', '85.20', '84.40', '84.78', '2346000', '84.7'], 
        ['2012-05-24', '84.96', '85.00', '84.03', '84.98', '2322100', '84.9'], 
        ['2012-05-23', '83.37', '84.88', '82.95', '84.80', '3200000', '84.8'], 
        ['2012-05-22', '84.69', '84.99', '83.68', '84.13', '3000900', '84.1'],
        ['2012-05-21', '83.88', '84.63', '83.75', '84.46', '2450000', '84.4'],
        ['2012-05-18', '84.78', '84.78', '83.27', '83.51', '3602900', '83.5'],
        ['2012-05-17', '85.56', '85.64', '84.25', '84.34', '2777200', '84.3'],
        ['2012-05-16', '85.91', '86.27', '85.26', '85.35', '2770600', '85.3'],
        ['2012-05-15', '85.95', '86.46', '85.50', '85.78', '2611300', '85.1'],
        ['2012-05-14', '85.46', '86.55', '85.24', '85.83', '2631900', '85.2'],
        ['2012-05-11', '86.47', '87.48', '86.24', '86.73', '2601800', '86.1'],
        ['2012-05-10', '87.14', '87.69', '86.88', '87.13', '2828500', '86.5'],
        ['2012-05-09', '86.64', '87.84', '85.98', '87.27', '3192800', '86.6'],
        ['2012-05-08', '87.12', '87.88', '86.30', '87.56', '2710400', '86.9'],
        ['2012-05-07', '87.70', '88.62', '87.70', '88.01', '2753500', '87.4'],
        ['2012-05-04', '89.17', '89.24', '88.30', '88.67', '2823800', '88.0'],
        ['2012-05-03', '89.50', '89.85', '89.11', '89.39', '2343600', '88.7'],
        ['2012-05-02', '89.16', '89.59', '88.89', '89.52', '2100200', '88.9'],
        ['2012-05-01', '89.13', '89.95', '88.74', '89.60', '2294200', '88.9']
      ]

Replace:

for i in range(1, 31):

with:

for d in Data[1:31]: #since you have range(1,31). Do Data[1:] if you just want to skip the first
    OneDate.append(d[0])
    OneClose.append(d[4])

这通常发生在Data数组的索引少于 31 个。还要保证d数组至少有 5 个项目,否则d[4]也会抛出类似的错误。使用:

if len(d) >= 5:  #check first.
    OneDate.append(d[0])
    OneClose.append(d[4])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python IndexError:列表索引超出范围 的相关文章

  • python 模拟第三方模块

    我正在尝试测试一些处理推文的类 我使用 Sixohsix twitter 来处理 Twitter API 我有一个类充当 Twitter 类的外观 我的想法是模拟实际的 Sixohsix 类 通过随机生成新推文或从数据库检索它们来模拟推文的
  • Django 模型在模板中不可迭代

    我试图迭代模型以获取列表中的第一个图像 但它给了我错误 即模型不可迭代 以下是我的模型和模板的代码 我只需要获取与单个产品相关的列表中的第一个图像 模型 py class Product models Model title models
  • Pandas 中允许重复列

    我将一个大的 CSV 包含股票财务数据 文件分割成更小的块 CSV 文件的格式不同 像 Excel 数据透视表之类的东西 第一列的前几行包含一些标题 公司名称 ID 等在以下列中重复 因为一家公司有多个属性 而不是一家公司只有一栏 在前几行
  • 填充两个函数之间的区域

    import matplotlib pyplot as plt import numpy as np def domain x np arange 0 10 0 001 f1 lambda x 2 x x 2 0 5 plt plot x
  • 从零开始的 numpy 形状意味着什么

    好的 我发现数组的形状中可以包含 0 对于将 0 作为唯一维度的情况 这对我来说是有意义的 它是一个空数组 np zeros 0 但如果你有这样的情况 np zeros 0 100 让我很困惑 为什么这么定义呢 据我所知 这只是表达空数组的
  • 如何创建一个语句来打印以特定单词开头的单词? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何在 python 中打印从特定字母开始的单词 而不使用函数 而是使用方法或循环 1 我有一个字符串 想要打印以 m 开头的单词 S
  • 在Python中调整图像大小

    我有一张尺寸为 288 352 的图像 我想将其大小调整为 160 240 我尝试了以下代码 im imread abc png img im resize 160 240 Image ANTIALIAS 但它给出了一个错误TypeErro
  • 使用鼻子获取设置中当前测试的名称

    我目前正在使用鼻子编写一些功能测试 我正在测试的库操作目录结构 为了获得可重现的结果 我存储了一个测试目录结构的模板 并在执行测试之前创建该模板的副本 我在测试中执行此操作 setup功能 这确保了我在测试开始时始终具有明确定义的状态 现在
  • 如何解决使用 Spark 从 S3 重新分区大量数据时从内存中逐出缓存的表分区元数据的问题?

    在尝试从 S3 重新分区数据帧时 我收到一个一般错误 Caused by org apache spark SparkException Job aborted due to stage failure Task 33 in stage 1
  • Numpy 过滤器平滑零区域

    我有一个 0 及更大整数的 2D numpy 数组 其中值代表区域标签 例如 array 9 9 9 0 0 0 0 1 1 1 9 9 9 9 0 7 1 1 1 1 9 9 9 9 0 2 2 1 1 1 9 9 9 8 0 2 2 1
  • Seaborn Pairplot 图例不显示颜色

    我一直在学习如何在Python中使用seaborn和pairplot 这里的一切似乎都工作正常 但由于某种原因 图例不会显示相关的颜色 我无法找到解决方案 因此如果有人有任何建议 请告诉我 x sns pairplot stats2 hue
  • 在 Pandas 中使用正则表达式的多种模式

    我是Python编程的初学者 我正在探索正则表达式 我正在尝试从 描述 列中提取一个单词 数据库名称 我无法给出多个正则表达式模式 请参阅下面的描述和代码 描述 Summary AD1 Low free DATA space in data
  • 创建嵌套字典单行

    您好 我有三个列表 我想使用一行创建一个三级嵌套字典 i e l1 a b l2 1 2 3 l3 d e 我想创建以下嵌套字典 nd a 1 d 0 e 0 2 d 0 e 0 3 d 0 e 0 b a 1 d 0 e 0 2 d 0
  • mac osx 10.8 上的初学者 python

    我正在学习编程 并且一直在使用 Ruby 和 ROR 但我觉得我更喜欢 Python 语言来学习编程 虽然我看到了 Ruby 和 Rails 的优点 但我觉得我需要一种更容易学习编程概念的语言 因此是 Python 但是 我似乎找不到适用于
  • 当鼠标悬停在上面时,intellisense vscode 不显示参数或文档

    我正在尝试将整个工作流程从 Eclipse 和 Jupyter Notebook 迁移到 VS Code 我安装了 python 扩展 它应该带有 Intellisense 但它只是部分更糟糕 我在输入句点后收到建议 但当将鼠标悬停在其上方
  • 无法在前端使用 JavaScript Fetch API 将文件上传到 FastAPI 后端

    我正在尝试弄清楚如何将图像发送到我的 API 并验证生成的token那是在header的请求 到目前为止 这就是我所处的位置 app post endreProfilbilde async def endreProfilbilde requ
  • 在Python中按属性获取对象列表中的索引

    我有具有属性 id 的对象列表 我想找到具有特定 id 的对象的索引 我写了这样的东西 index 1 for i in range len my list if my list i id specific id index i break
  • 如何读取Python字节码?

    我很难理解 Python 的字节码及其dis module import dis def func x 1 dis dis func 上述代码在解释器中输入时会产生以下输出 0 LOAD CONST 1 1 3 STORE FAST 0 x
  • Python 无法使用套接字绑定我的外部/公共 IP 地址,给出错误但是当使用本地 IP 地址时,错误不会显示

    这是出现主要错误的代码 与我的本地 IP 的绑定将起作用 s bind 192 168 1 4 port 与我的公共 IP 的绑定失败并出现以下错误 s bind 99 99 99 99 port WinError 10049 请求的地址在
  • 列表值的意外更改

    这是我的课 class variable object def init self name name alias parents values table name of the variable self name 这是有问题的函数 f

随机推荐

  • Android - 丢失传入(高速)USB 数据

    使用 Android 时 我会丢失传入 USB 数据流上的数据 而在 Windows 中读取同一设备 流时不会丢失这些数据 我知道 Android 不是实时操作系统 但 Windows 也不是 并且 Windows 在 跟上 数据方面没有任
  • 使用正则表达式检查字符串是否只包含一位数字

    我正在编写一个算法 我需要检查字符串是否包含only one数字 不超过一位 目前我有 if current Operation matches d 有更好的方法来做这件事吗 谢谢 您可以使用 D d D match beginning o
  • 如何将数据从托管程序集流式传输到本机库并再次返回?

    如何将数据 文本 从托管程序集流式传输到本机库并将数据 文本 流回托管程序集 具体来说 我想揭露一个System IO Stream NET 端的某种类型 并且 最重要的是 a FILE 在本机方面 本机方法的签名应该是 FILE foo
  • DataTable 上的 Linq:选择特定列到数据表中,而不是整个表

    我正在运行 LINQ 查询datatable in c 我想选择特定列而不是整行并将结果输入到datatable 我怎样才能做到这一点 My Code public DataTable getConversions string c to
  • 如何更新猫鼬中嵌入文档中的嵌入文档?

    我正在使用 mongodb 和 mongoose 在 node js 中构建一个 API 目前 我有一个嵌入文档中的嵌入文档 架构中的架构 它根本没有保存到数据库中 我已尽我所能 但没有运气 我在猫鼬中将架构定义为 var BlogPost
  • Volley AppController 类对象返回 null

    我正在制作一个应用程序JsonObjectRequest并使用 Android 版 Volley Networking Library 从 URL 检索 JSON 数据 应用控制器 java public class AppControll
  • 在 Visual Studio Code for Mac 中设置 TFVC 存储库

    我正在尝试在我的 Visual Studio Code for Mac 上的 VSTS 中设置托管的 Team Foundation 版本控制 TFVC 存储库 我根本没用过Visual Studio 显然 我的客户正在使用 TFVC 系统
  • Array.Clone() (复制还是不复制?)

    我怀疑我只是误解了 Array 类的 Clone 方法 然而它显示 创建 System Array 的浅拷贝 所以我认为这意味着新的对象指针 而不是相同的对象指针 下面的事情真的应该发生吗 假设测试对象 public class testO
  • 使用主机路径与 Kind Kubernetes Cluster 共享本地目录

    我想与 kind 集群共享我的非空本地目录 基于这里的答案 如何在 Kind 中引用本地卷 docker 中的 kubernetes https stackoverflow com questions 62694361 how to ref
  • Nginx / PHP FPM 优雅停止(SIGQUIT):不太优雅

    运行 nginx 1 9 PHP 7 0 但 5 6 中的行为也完全相同 尝试优雅地停止 PHP FPM nginx 组合以在维护期间关闭节点 为此 我将 SIGQUIT 发送到 php fpm 这should提供优雅的关闭 为了测试这一点
  • Android SearchView 样式下拉弹出窗口

    我想知道如何设计Android 4 0的下拉弹出窗口的样式SearchView 我正在使用Theme Sherlock Light DarkActionBar 但我不知道如何将下拉搜索样式设置为白色背景和黑色文本 由于某种原因 使用 sea
  • 多行字符串中的 YAML 注释

    YAML 是否支持多行字符串中的注释 我正在尝试做这样的事情 但验证器抛出错误 key comment value comment value value comments here don t work either 不 根据YAML 1
  • 在 CakePHP 中使用 HighchartsPHP 库

    我正在尝试使用ghunti的HighchartsPHP http www goncaloqueiros net highcharts phpCakePHP 中的包装器 以便我可以在我的项目中使用它 在演示中它说要编辑config php并包
  • Java 输入流到 Python (PY4J)

    我正在使用 PY4J 在 python 中运行 Java 代码 http py4j sourceforge net http py4j sourceforge net 我的java函数返回一个InputStream 我想在我的python代
  • 从 CDN 延迟加载

    是否可以从外部服务器加载惰性模块 我想将我的资源上传到 CDN 但似乎惰性模块是从我的 node js 服务器加载的 这对我来说并不好 我的服务器仅提供角度应用程序的index html 但资源将从cdn加载 它启动并正常工作 直到加载一个
  • 如何在不将文件存储在服务器端的情况下向浏览器提供 PDF?

    我有两个方法 一种在服务器端生成 PDF 另一种在客户端下载 PDF 我怎样才能做到这一点而不将其存储在服务器端并允许客户端直接下载它 以下是两种方法 public void downloadPDF HttpServletRequest r
  • 如何取回现有的消息队列 ID

    我正在使用 msgget 系统调用来获取新的消息队列 我在其中使用了 IPC CREAT 和 IPC EXCL 标志 喜欢message queue msgget ftok tmp 100 0666 IPC CREAT IPC EXCL 现
  • Python copy:如何继承默认的复制行为?

    好吧 这可能是一个愚蠢的问题 但我现在找不到答案 我需要实现一个对象的复制 我想要复制该对象的所有属性 除了我想要完全控制复制的一两个属性 这是对象的标准复制行为 gt gt gt class test object def init se
  • 尝试在 MatLab 中编译 C mex 文件

    嘿 我试图在 MatLab 中编译一个 C 文件 但我收到了这个错误 我正在尝试理解它 非常感谢任何和所有指导 gt gt mex BDS unpack mex5 c xcrun error SDK macosx10 7 cannot be
  • Python IndexError:列表索引超出范围

    我试图让 Python 用 500 只股票的收盘价填充列表 虽然该代码似乎只适用于少数股票 但数量过多就会带来问题 Python 不断给我以下错误 OneClose append Data i 4 IndexError list index