Трансформатор даты
Мне действительно нужна помощь с этим кодом. Мне нужно написать код, используя входной файл Unit 5 Dates.txt
, содержащий даты в форме yyyy/mm/dd
, прочитать все строки в списке, найти самые ранние и последние даты и распечатать, а затем преобразовать строку даты в форме July 12, 2014
и распечатать все даты.
Я написал код, и он работает нормально, но я не знаю, как преобразовать дату в форму November 10, 2015
.
def main(): dateList = get_list() dateMin = find_min(dateList) print(dateMin) dateMax = find_max(dateList) print(dateMax) print () print_dates(dateList) #changeDate = date_changer(dateList) def get_list(): infile = open("Unit 5 Dates.txt", 'r') dateList = infile.readlines() infile.close() return dateList def find_min(dateList): dateMin = dateList[0] for index in range(len(dateList)): dateList[index] = dateList[index].rstrip("\n") if dateList[index] < dateMin: dateMin = dateList[index] return "The earlest date in the file is: " + dateMin def find_max(dateList): dateMax = dateList[0] for index in range(len(dateList)): if dateList[index] > dateMax: dateMax = dateList[index] return"The latest date in the file is: " + dateMax def print_dates(dateList): print("This is the list of dates") for index in range(len(dateList)): print(dateList[index]) main()
Что ты мне сказал, я делаю это, но это не работает. Что делать, если я хочу прочитать его из txt-файла Unit 5 Dates.txt
, у которого уже есть все даты. Например, если вы посмотрите на мой код, я создаю возвращающую значение функцию, называемую get_list
, а затем define
ее и открываю файл Unit 5 dates.txt
, файл и читаю все даты из файла txt.
Здесь Iis, что я до сих пор. У меня есть создать функцию, называемую date_chnage
а также я определяю функцию. Но когда я запускаю код, он дает мне сообщение об ошибке.
def date_changer(dateList): import datetime as datechanger infile = open("Unit 5 Dates.txt", 'r') print("This is the list of dates") for index in range(len(dateList)): dateList = datechanger.datetime.strptime(datechanger, '%Y/%m/%d').date() print (date.strftime("%B %d, %Y")) main()
Вот ошибка, которая мне дает
File "/Users/mohamedkeita/Library/Mobile Documents/com~apple~CloudDocs/School/2015:2016 School/Python/Unit 5/KeitaM_Unit 5 copy.py", line 18, in main changeDate = date_changer(dateList) File "/Users/mohamedkeita/Library/Mobile Documents/com~apple~CloudDocs/School/2015:2016 School/Python/Unit 5/KeitaM_Unit 5 copy.py", line 70, in date_changer dateList = datechanger.datetime.strptime(datechanger, '%Y/%m/%d').date() TypeError: must be str, not module
- любая более короткая или более быстрая альтернатива байтам (str (some_variable), 'utf-8') в Python 3?
- От stat (). St_mtime до datetime?
- Веб-скребок – результаты фильтрации
- автоматическое сопоставление памяти с помощью joblib все еще попадает в int overflow
- возвращение нескольких объектов из инструмента py.test
Использовать дату и время :
import datetime as dt dates='''\ 2015/11/11 1941/12/07 1776/07/04''' for ds in dates.splitlines(): date=dt.datetime.strptime(ds, '%Y/%m/%d').date() print(date.strftime("%B %d, %Y"))
Печать:
November 11, 2015 December 07, 1941 July 04, 1776
Вы также можете использовать дату даты и времени для max и min:
>>> max(dates.splitlines(), key=lambda l: dt.datetime.strptime(l, '%Y/%m/%d').date()) '2015/11/11' >>> min(dates.splitlines(), key=lambda l: dt.datetime.strptime(l, '%Y/%m/%d').date()) '1776/07/04'
Хотя я использую dates.splitlines()
в примере, это может быть другой источник – например, файл.
В случае, когда у вас есть YYYY / MM / DD в виде цифр в строке, вы также можете просто использовать лексикографическую сортировку для определения min / max:
>>> max(dates.splitlines()) '2015/11/11' >>> min(dates.splitlines()) '1776/07/04'
Если вам нужно преобразовать или подтвердить дату, используйте дату и время.
- Как я могу читать / писать файл в Python (3) в Windows без ввода каретки?
- Ручное инвертирование FFT с помощью Numpy
- Найдите ближайший ключ в слове с текстом?
- распечатать (вставить в таблицу (…)), чтобы довольно печатать панды multiIndex?
- наследующий ttk вместо Tk
- django simple captcha продолжает говорить «недействительный CAPTCHA»
- Асинхронная обработка исключений в Python
- Постоянно изменять переменные среды с помощью Python
- В python, почему sys.stdout.write () ведет себя по-разному между запуском внутри командной строки и запуском внутри скрипта
- Адаптивная моторная шляпа python3
- Триггерный разрыв ключевого слова с использованием словаря Python