#python-3.x #pandas #python-datetime
#python-3.x #pandas #python-datetime
Вопрос:
Итак, довольно просто: иметь столбцы с такими датами: «2000-05-30 17:27:00-05:00»
data open high low close
0 2000-05-30 17:27:00-05:00 0.9302 0.9302 0.9302 0.9302
1 2000-05-30 17:35:00-05:00 0.9304 0.9305 0.9304 0.9305
2 2000-05-30 17:38:00-05:00 0.9304 0.9304 0.9303 0.9303
3 2000-05-30 17:43:00-05:00 0.9301 0.9301 0.9300 0.9300
4 2000-05-30 17:44:00-05:00 0.9298 0.9298 0.9297 0.9297
Я попробовал пользовательский анализатор:
custom_parser = lambda x: datetime.strptime(x, "%Y-%m-%d %H:%M:%S-%z")
data = pd.read_csv('eurusd_2.csv', parse_dates=[0], date_parser=custom_parser, parse_dates=True)
но это не работает; Я думаю, это связано с «:» в часовом поясе «-05:00» — какие-либо решения для этого?
Есть ли способ указать формат часового пояса, аналогичный тому, как указывается формат года / месяца / дня?
Заранее большое спасибо,
C
Ответ №1:
Простой:
df = pd.read_csv('file.csv', parse_dates=['data'], sep='ss ')
кажется, работает. df['data']
это:
0 2000-05-30 17:27:00-05:00
1 2000-05-30 17:35:00-05:00
2 2000-05-30 17:38:00-05:00
3 2000-05-30 17:43:00-05:00
4 2000-05-30 17:44:00-05:00
Name: data, dtype: datetime64[ns, pytz.FixedOffset(-300)]
Возможно, ваши данные содержат некоторые нарушения.