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"), то все работает!
import time
и замените datetime.datetime.fromtimestamp(d).strftime('%Y-%m-%d %H:%M:%S')
на time.strftime('%Y-%m-%d %H:%M:%S')
вроде поздно, но проблема в вашем случае в том, что метка времени в миллисекундах, конвертируйте ее следующим образом:
milliSeconds = timestamp % 1000
timestamp = timestamp / 1000
converted = datetime.fromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M:%S') + f".{milliSeconds}"
Вам не нужен дополнительный код, просто измените
read_csv
наdf = pd.read_csv(path, parse_dates='Open_time')
.