Проблема с разбором datetime.datetime.strptime

У меня есть список из 1500 строк данных, которые выглядят как

USGS \t 14211720 \t 2017-02-12 22:00 \t PST \t 117000 \t P 11.96 P

Прежде чем я добавлю строку даты и времени, разгрузочный список и gagheightList работают и дают мне счет 1400 строк, но когда я добавляю в него дату и время, я получаю

TypeError: strptime() argument 1 must be str, not list" 
I am trying to pull the date, discharge and height to make two graphs

Мой код:

import csv

import datetime

dateList = []
dischargeList = []
gageheightList = []

readCSV = csv.reader(dataLines, delimiter = '\t')

for row in readCSV:
    date_str = [2]
    dateTIME = datetime.datetime.strptime(date_str,"%Y,%m,%d T%H:%M")
    dateList.append(dateTIME)

    discharge = row[4]
    dischargeList.append(discharge)
    gageheight = row[6]
    gageheightList.append(gageheight)

#print(dateList)
#this line was just to test if the dates were making it to a list    


print("we have {} items in the date list".format(len(dateList)))

print("we have {} items in thegage height list".format(len(gageheightList)))

print ("we have {} items in the discharge list".format(len(dischargeList)))

2 ответа

Как сказал AJPennster, вы должны знать, как использовать datetime модуль. Код ниже является использование метода datetime.datetime.strptime(string, format)

import datetime

_str1 = "2017,02,12 22:00"
_str2 = "2017-02-12 22:00"

format_str1 = datetime.datetime.strptime(_str1, "%Y,%m,%d %H:%M")
format_str2 = datetime.datetime.strptime(_str1, "%Y-%m-%d %H:%M")

Когда используешь datetime.datetime.strptime(string, format) метод, вы должны заполнить ваш параметр формата строго в соответствии с форматом предоставленного вами srting.

date_str = [2] наборы date_str как список, содержащий 2,

Вот почему, когда вы пытаетесь сделать

dateTIME = datetime.datetime.strptime(date_str,"%Y,%m,%d T%H:%M")

ты получаешь

TypeError: strptime() argument 1 must be str, not list"

изменения date_str = [2] в date_str = row[2] должен решить вашу проблему.

Другие вопросы по тегам