Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

python language, dictionaries, string processing and file inputs Part V: Fetch I

ID: 3739164 • Letter: P

Question

python language, dictionaries, string processing and file inputs

Part V: Fetch Information (20 points) In this part we will generalize the results of the previous part to files that contain information other than course enrollment data. The first line of the file will contain a comma-separated list of strings that define the format of the file. Some examples Car data: Make,Model, Year CPU data: Manufacturer,Model, NumCores, ClockSpeed House data: Town, Year, Price, NumRooms, Taxes Write a function fetch.value () that takes the following arguments, in this order: 1. filename: The name of a file the function will read data from. All fields in the file will be separated by commas. You may assume that the file is always validly formatted. 2. selected.field: The name of the field from which we are reading values. 3. searched.field: The name of the field we are using to search the data. 4. searched.value: The value of the searched.field that we are trying to match. To understand the meaning of these arguments, suppose the function were called on CPU data (with fields Manufacturer,Model, NumCores,ClockSpeed) with the following arguments

Explanation / Answer

def fetch_value(file,selected,searched,value): L=[] Colnames=[] ind1=-1 ind2=-1 first=True with open(file,'r') as f: for lines in f: if first: Colnames=lines.split(',') for i in range(0,len(Colnames)): if Colnames[i]==selected: ind1=i if Colnames[i]==searched: ind2=i first=False data=lines.split(',') if data[ind2]==value: L.append(data[ind1]) return L