Python numpy loadtxt函数使用转换器和MDATE抛出语法错误

Python numpy loadtxt函数使用转换器和MDATE抛出语法错误,python,python-2.7,numpy,matplotlib,Python,Python 2.7,Numpy,Matplotlib,我一直在学习绘制股票图表的教程,遇到了一个语法错误,这让我很难堪。我的配置是WindowsXP,Python2.7Anaconda发行版 我的文本文件看起来像这样,没有标题:日期、关闭、高、低、打开、卷: 20130128449.8300453.2100435.8600437.830028054200 20130129,458.2700,460.2000,452.1200,458.5000,20398500 20130130,456.8300,462.6000,454.5000,457.0000

我一直在学习绘制股票图表的教程,遇到了一个语法错误,这让我很难堪。我的配置是WindowsXP,Python2.7Anaconda发行版

我的文本文件看起来像这样,没有标题:日期、关闭、高、低、打开、卷:

20130128449.8300453.2100435.8600437.830028054200 20130129,458.2700,460.2000,452.1200,458.5000,20398500 20130130,456.8300,462.6000,454.5000,457.0000,14898400 20130131,455.4900,459.2800,454.9800,456.9800,11404800 20130201,453.6200,459.4800,448.3500,459.1100,19267300 20130204442.3200455.9400442.0000453.910017039900

代码如下:

import time
import datetime
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
import matplotlib.dates as mdates

eachStock = 'TSLA','AAPL'

def graphData(stock):
    try:
        stockFile = stock+'.txt'

        date, closep, highp, lowp, openp, volume = np.loadtxt(stockFile, delimiter=",", unpack=True, converters=(0: mdates.strpdate2num('%Y%m%d')))

        fig = plt.figure()
        ax1 = plt.subplot(1,1,1)
        ax1.plot(date, openp)
        ax1.plot(date, highp)
        ax1.plot(date, lowp)
        ax1.plot(date, closep)

        plt.show()

    except Exception, e:
        print 'failed main loop',str(e)


for stock in eachStock:
    graphData(stock)
    time.sleep(300)
我不断得到以下错误:

date, closep, highp, lowp, openp, volume = np.loadtxt(stockFile, delimiter=",", unpack=True, converters=(0: mdates.strpdate2num('%Y%m%d')))
                                                                                                              ^
SyntaxError: invalid syntax
我被难住了,因为我相信我复制了一个代码函数,它可以为其他人工作,但出于某种原因,它给我带来了一个错误。谢谢你的帮助

而不是

 (0: mdates.strpdate2num('%Y%m%d'))
试一试


这至少可以消除语法错误<代码>{:}都是字典定义的一部分。

您好,谢谢您的帮助。我在教程中看不到它,但我使用了不正确的括号。现在它抛出了一个新错误:主循环失败[Errno 2]没有这样的文件或目录:“a.txt”它似乎在eachStock全局变量中的每个字母之间循环,而不是在整个ticker中循环…尝试在名称周围添加[],因此它显然是一个列表。谢谢,我早些时候尝试过了,它成功了。我感谢你的帮助!
 {0: mdates.strpdate2num('%Y%m%d')}