Я намагаюся редагувати свій скрипт python, щоб він щодня витягував дані з бази даних. Наразі мій сценарій запитує вручну (необроблений) введення дати у форматі: РРР: ММ: DD: HH: MM: SS. Але те, що мені дійсно потрібно, - це час початку розрахунку, виходячи з поточної дати.
Ось як виглядає мій сценарій зараз:
from datetime import datetime, timedelta
from pandas import DataFrame
import pandas as pd
from io import StringIO
starttime_str = raw_input("enter time:") # example 2016:10:18:00:00:00
arr = starttime_str.split(":")
starttime = datetime(int(arr[0]), int(arr[1]), int(arr[2]), int(arr[3]), int(arr[4]), int(arr[5]))
Але те, що мені насправді потрібно starttime_str
бути датою комп'ютера. Тож, можливо, я повинен написати функцію, щоб знайти дату, а потім обчислити позначку часу? Я оновлю запис в cron, щоб сценарій працював щодня & автоматично. Я знаю, що я повинен використовувати щось подібне pd.tslib.Timestamp.now()
але мені не потрібно цілий рядок.
Відповіді:
1 для відповіді № 1Помилка, вказана в розділі коментарів, усувається за допомогою використання розділення () fuction у наступному коді
from datetime import datetime, timedelta
from pandas import DataFrame
import pandas as pd
from io import StringIO
starttime_str = str(datetime.today()).replace("-", ":")
arr = starttime_str.split(":")
starttime = datetime(int(arr[0]), int(arr[1]), int(arr[2].split(" ")[0]), int(arr[2].split(" ")[1]), int(arr[3]), int(float(arr[4])))
1 для відповіді № 2
Я думаю, що це ти хочеш зробити:
from datetime import datetime, timedelta
from pandas import DataFrame
import pandas as pd
from io import StringIO
starttime_str = str(datetime.today()).replace("-", ":")
arr = starttime_str.split(":")
starttime = datetime(int(arr[0]), int(arr[1]), int(arr[2]), int(arr[3]), int(arr[4]), int(arr[5]))