data types print_line(linecolormaxwidthcount + except eoferrorbreak print_end(the maxwidth variable is used to constrain the number of characters in cell--if field is bigger than this we will truncate it and signify this by adding an ellipsis to the truncated text we'll look at the print_start()print_line()and print_end(functions in moment the while loop iterates over each line of input--this could come from the user typing at the keyboardbut we expect it to be redirected file we set the color we want to use and call print_line(to output the line as an html table row def print_start()print(""def print_end()print(""we could have avoided creating these two functions and simply put the relevant print(function calls in main(but we prefer to separate out the logic since this is more flexibleeven though it doesn' really matter in this small example def print_line(linecolormaxwidth)print("format(color)fields extract_fields(linefor field in fieldsif not fieldprint(""elsenumber field replace(","""tryx float(numberprint("{ : }format(round( ))except valueerrorfield field title(field field replace(and "and "if len(field<maxwidthfield escape_html(fieldelsefield "{ formatescape_html(field[:maxwidth])print("{ }format(field)print(""