我的回测代码读取了UNIX时间戳,但是CSV文件中的时间是这种格式的2020-04-10 04:00:00,
应该是这样的1512045180000。需要进行哪些更改才能读取它。我尝试了不同的方法,但这对我来说很难。
def getEthereumData(start_date, end_date):
print("Start reading ethereum data..")
path = os.path.dirname(os.path.abspath(__file__))
data = pd.read_csv(path + "\\data\\BTCUSDT-1m-data.csv")
data['DateTime'] = [datetime.fromtimestamp(ts/1000) for ts in data["Timestamp"]]
data = data.set_index('DateTime')
data = data.dropna()
data = data[parse(start_date): parse(end_date)]
print("Reading complete")
return data
要将日期时间格式“2020-04-10 04:00:00”转换为 Unix 时间戳格式(如 Python 中的“1512045180000”),可以使用 datetime 模块解析日期时间字符串,然后将其转换为 Unix 时间戳。以下是您可以根据自己的情况执行此操作的方法:
import os
import pandas as pd
from datetime import datetime
def getEthereumData(start_date, end_date):
print("Start reading ethereum data..")
path = os.path.dirname(os.path.abspath(__file__))
data = pd.read_csv(path + "\\data\\BTCUSDT-1m-data.csv")
# Convert datetime strings to Unix timestamps in milliseconds
data['Timestamp'] = data['Timestamp'].apply(lambda x: int(datetime.strptime(x, "%Y-%m-%d %H:%M:%S").timestamp() * 1000))
data = data.set_index('Timestamp')
data = data.dropna()
data = data[(data.index >= start_date) & (data.index <= end_date)]
print("Reading complete")
return data