Мотивация: в коде у меня несколько мест, где находится целевая дата. Я вручную изменил всю целевую дату, чтобы запустить код. Но вы знаете, было бы хорошо, если бы я мог сделать это автоматизированным.
Моё испытание
1. успех: мне удалось сделать целевую дату функциональной с помощью timedelta.
2. ошибка: однако, когда я вставляю его в код, данные кажутся неверными. Для приведенного ниже примера я установил целевую дату «2019-03-29», но данные распечатывались, начиная с «2019-01-01»
Любое понимание будет очень заметно.
import datetime as dt
import pandas as pd
import pandas_datareader.data as web
import csv
from datetime import datetime, timedelta
#data import
headers = ['ticker','per','date','time','open','high','low','close','vol']
df = pd.read_csv(r"C:\\Users\\x230\\Downloads\\NQ_190101_190531.csv", sep = ';', names=headers, skiprows=[0])
df['date_time'] = df['date'].map(str) + ' ' + df['time'].map(str) #combine date and time data
df['date_time'] = pd.to_datetime(df['date_time'], format='%d/%m/%y %H:%M:%S')
df.set_index('date_time',inplace=True) #set time back as index
date_start = '2019-03-28'
date_target = (datetime.strptime(date_start, '%Y-%m-%d') + timedelta(days=1)).strftime('%Y-%m-%d')
#selecting data range
df = df.loc[print(date_target,'01:01:00'):print(date_target,'22:59:00')]
df.head()