In: Computer Science
use Python datetime module, strftime
Write a program that processes the following textfile and prints the report shown below.
Textfile:
Gone Girl, 5-24-2012
To Kill A Mockingbird, 7-11-1960
Harry Potter and the Sorcerer’s Stone, 6-26-1997
Output: print the title and the publication date formatted in two ways (using strftime)
Example output:
Title Publication Date Alternate Date
Gone
Girl
May 24,
2012
5/24/12
To Kill A
Mockingbird
July 11,
1960
7/11/60
Harry Potter and the Sorcerer’s Stone June 26,
1997
6/26/97
Please find below modified code and don't forget to give a Like.
Please refer screenshot for indentation and output.
Modified code as per user requirements:
from os.path import* from datetime import* def main(): title=[] pub_date=[] alternate_date=[] name=input("Enter file name") title,pub_date,alternate_date=readfile(name) printReport(title,pub_date,alternate_date) def readfile(name): file = open(name, "r") list1 = file.readlines() title = [] # this is for title names date = [] # this is for date unformatted list for i in list1: list2 = i.split(",") title.append(list2[0]) if (list2[1].startswith(" ")): # this is for validation startswith spaces& endswith \n if (list2[1].endswith("\n")): date.append(list2[1][1:(len(list2[1]) - 1)]) else: date.append(list2[1][1:len(list2[1])]) else: if (list2[1].endswith("\n")): date.append(list2[1][0:(len(list2[1]) - 1)]) else: date.append(list2[1][0:len(list2[1])]) pub_date = [] # for formated publication date alternat_date = [] # for formated alternate date for i in date: date_list = i.split("-") current_timestamp = datetime(int(date_list[2]), int(date_list[0]), int(date_list[1])) pub_date.append(current_timestamp.strftime("%b %d,%Y")) alternat_date.append(current_timestamp.strftime("%m/%d/%Y")) file.close() return title,pub_date,alternat_date def printReport(title,pub_date,alternat_date): print("Title Publication Date Alternate Date") print(title[0]," ",pub_date[0]," ",alternat_date[0]) print(title[1], "\t\t\t ", pub_date[1], " ", alternat_date[1]) print(title[2], "", pub_date[2], " ", alternat_date[2]) #for i in range(3): # print(title[i],"\t\t",pub_date[i],"\t\t",alternat_date[i]) main()
Screenshot and output: