datetime OSError: [Errno 22] Недопустимый аргумент
import pandas as pd
import datetime
def open_csv(path):
try:
df = pd.read_csv(path)
return df
except FileNotFoundError:
print("ERR: FileNotFoundError", path)
data = open_csv("historical/BNBBTC")
for d in data["Open_time"]:
print(d)
print(type(d))
print(datetime.datetime.fromtimestamp(d).strftime('%Y-%m-%d %H:%M:%S'))
ошибка:
1514764800000
Traceback (most recent call last):
<class 'int'>
File "D:/bot/add_data.py", line 16, in <module>
print(datetime.datetime.fromtimestamp(d).strftime('%Y-%m-%d %H:%M:%S'))
OSError: [Errno 22] Invalid argument
Не могу понять в чем проблема? Если b = int ("1514764800000"), то все работает!
3 ответа
def epoch_to_date(epoch_time):
time_stamp = epoch_time / 1000
date_time = datetime.datetime.fromtimestamp(time_stamp).strftime('%Y-%m-%d %H:%M:%S')
print(date_time)
return date_time
epoch_time = epoch_to_date(epoch_time)
Вроде поздно, но проблема в вашем случае в том, что метка времени находится в миллисекундах, конвертируйте ее следующим образом:
milliSeconds = timestamp % 1000
timestamp = timestamp / 1000
converted = datetime.fromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M:%S') + f".{milliSeconds}"
import time
и заменить datetime.datetime.fromtimestamp(d).strftime('%Y-%m-%d %H:%M:%S')
с time.strftime('%Y-%m-%d %H:%M:%S')