2017-09-07 12 views
0

내 CSV 파일 TSLA.csv를 here에서 다운로드했습니다. 헤더 행과 7 개의 열을 가지며, 첫 번째 열은 날짜이고, 나머지 열은 float 및 int입니다.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