2017-09-07 11 views
0

CSVファイルTSLA.csvをhereからダウンロードしました。ヘッダー行と7列を持ち、最初は日付、その他は浮動小数点数です。python - ValueError:時刻データがフォーマットと一致しません

ValueError: time data "['2010-06-29" does not match format '%Y-%m-%d'

私はフォーマットをダブルチェックしてチェックしている:

import csv 
import numpy as np 
import matplotlib.pyplot as plt 
import matplotlib.dates as mdates 
import urllib 


def bytespdate2num(fmt, encoding="utf-8"): 
    strconverter = mdates.strpdate2num(fmt) 
    def bytesconverter(b): 
     s = b.decode(encoding) 
     return strconverter(s) 
    return bytesconverter 

with open("TSLA.CSV", "r") as csvfile: 
    stock_price = csv.reader(csvfile, delimiter=" ") 
    stock_price = list(stock_price) 


date, closep, highp, lowp, openp, volume = np.loadtxt(stock_price, 
                 delimiter = ",", 
                 unpack = True, 
                 skiprows=1, 
                 converters={0: bytespdate2num("%Y-%m-%d")}) 

トラブルは、私は次のエラーを取得する、次のとおりです。

は、私はそれのうちnumpyの配列を取得できるようにしたいですここでは他の質問がありますが、それらは主に間違った形式に関するものでした...私はここで問題を見ることはできません。ヘルプは高く評価しました。

+0

これは完全なコードですか?実際にコード内の書式文字列を使用している場所がわかりません。あなたもそれを追加できますか? –

+0

@KshitijMittalでは、書式文字列はコードの最後の行にあり、bytespdate2num関数に渡されます。 –

答えて

2

さて、私は問題はここにあると信じて:

はエラーで再び見てください、それが"['2010-06-29" does not match data formatを言います。 これは、日付だけを解析するのではなく、日付を囲む二重引用符を調べるためです。

あなたは、解析しようとしている。

['2010-06-29 

物事をめちゃくちゃにされて、あなたの文字列の中の余分な['があります。

+0

ありがとう!それは明らかに問題です。私は気づいていない。 –

+1

心配しないでください、それらのことが起こります。最初は、あなたと同じ考えをしていました。実現するまでにはしばらく時間がかかりました。 – Strinnityk