#python #sql #jupyter-notebook
#python #sql #jupyter-записная книжка
Вопрос:
Я хотел бы сгенерировать временную метку между каждым StartDate:startTime и EndDate:EndTime .
например
StartDate 2019-01-01 ,StartTime 01:00:00 --- only appear hour (2019-01-01 ,01)
EndDate 2019-01-11 ,EndTime 1:00:00.---only appear hour (2019-01-11 ,01)
и показывать дату и время в одном столбце таблицы
Ответ №1:
from datetime import datetime, timezone, timedelta
import pandas as pd
def generate_date_list(from_date, to_date):
list_of_dates = []
start = datetime.strptime(from_date, '%Y-%m-%d')
end = datetime.strptime(to_date, '%Y-%m-%d')
step = timedelta(days=1)
while start <= end:
list_of_dates.append(start.date())
start = step
dt = [i.strftime("%Y-%m-%d %H:%M:%S") for i in list_of_dates]
return {"Date_Time": dt}
date_time_list = generate_date_list("2019-01-01", "2019-01-11")
df = pd.DataFrame(date_time_list)
print(df)
#You can use df.to_sql() to insert on table.
Комментарии:
1. Ответы только для кода не так полезны, как если бы они были обогащены объяснениями. Пожалуйста, подумайте о добавлении текста, объясняющего ваш код, сделанный вами выбор и почему.
2. спасибо, дорогой Танмей Шривастава, если я хочу создавать 24 часа в сутки, что я делаю? @Tanmay Shrivastava
Ответ №2:
Вы можете попробовать использовать функцию pandas date_range
import pandas as pd
dates = pd.date_range(start='2009-01-01 01:00:00', end='2009-01-11 00:00:00',freq='H')
for date in dates:
print(date)
Это выведет все даты между временем начала и временем окончания
Комментарии:
1. Спасибо, дорогой Джозеф томаа.