Я хочу напечатать только года с помощью следующего кода, но это, кажется, подвержены ошибкам, я попробовал и задавал много раз, но не получил правильногокак получить перебирать список времени даты, чтобы получить
import pandas as pd
from datetime import datetime
data = pd.read_csv('Meteorite_Landings.csv')
a = str(data["year"])
print a
for i, val in enumerate(a):
b=[datetime.strptime(date, '%m/%d/%Y %H:%M:%S %p').year for date in a]
print b
Я получаю эту ошибку
Traceback (most recent call last): File "C:/Users/shiv/Desktop/new_date_times.py", line 9, in b=[datetime.strptime(date, '%m/%d/%Y %H:%M:%S %p').year for date in a] File "C:\Python27\lib_strptime.py", line 325, in _strptime (data_string, format)) ValueError: time data '0' does not match format '%m/%d/%Y %H:%M:%S %p'
'a' - это строка. Если вы повторите это, вы получите персонажей одновременно. Я не знаком с пандами, но какой тип 'data'? Попробуйте выполнить 'data ["year"] 'непосредственно, не отбрасывая его на строку. – L3viathan
Публикация образца файла csv была бы огромной помощью здесь. Кроме того, как отметил @ L3viathan, вы перекодировали 'a' в строку, так что итерация по ней просто дает вам один символ за раз, чтобы перейти в strptime. –
вы также должны размещать здесь часть или соответствующий параметр CSV, иначе мудрее довольно сложно догадаться, какой будет правильный формат. – Oz123