文本文件 mdates.strpdate2num 错误

1 投票
1 回答
2200 浏览
提问于 2025-04-17 23:27

我在使用numpy的loadtxt功能时总是遇到错误。

非常感谢你的帮助!

import numpy as np
import time
import datetime
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
import matplotlib.dates as mdates
from matplotlib.finance import candlestick
from matplotlib.dates import strpdate2num
import urllib2


## global variables
eachStock = 'AAPL','GOOG','MSFT','AMZN','CMG'



for stock in eachStock:

    stockFile = stock+'.txt'
    date, closep, highp, lowp, openp, volume = np.loadtxt(eachStock, delimiter=',', unpack=True,
                                                          converters={ 0: mdates.strpdate2num('%Y%m%d')})

    dFrame = Series(closep)

这是我文本文件中的第一行

20040322,13.5200,13.6800,12.6100,12.6850,15850720

这是我一直遇到的错误

    Traceback (most recent call last):
  File "C:\Users\antoniozeus\Desktop\BuyAndHold.py", line 27, in <module>
    converters={ 0: mdates.strpdate2num('%Y%m%d')})
  File "C:\Python27\lib\site-packages\numpy\lib\npyio.py", line 796, in loadtxt
    items = [conv(val) for (conv, val) in zip(converters, vals)]
  File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 233, in __call__
    return date2num(datetime.datetime(*time.strptime(s, self.fmt)[:6]))
  File "C:\Python27\lib\_strptime.py", line 454, in _strptime_time
    return _strptime(data_string, format)[0]
  File "C:\Python27\lib\_strptime.py", line 325, in _strptime
    (data_string, format))
ValueError: time data 'AAPL' does not match format '%Y%m%d'

1 个回答

2

看起来你把 stockFile(文件名)错写成了 eachStock

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

撰写回答