Sum and min won't work correctly on assignment

I have an assignment to analyze data in csv file for countries and what year they had lowest and highest life expectancy from the Spanish Flu. I keep getting the error “line 21, in
expectancy = int(line[3])
ValueError: invalid literal for int() with base 10: ‘27.638\n’”
I have no idea why this keeps coming up so any tips would be great!

lowest = 99999999
highest = -1
low_entity = ""
low_year = ""
high_entity = ""
high_year = ""
input_year = ""

input_year = input("Enter the year of interest: ")

with open("life-expectancy.csv") as file:

    for line in file:
        line = line.split(",")

        entity = line[0].strip()
        code = line[1]
        year = int(line[2])
        expectancy = (line[3])

        min_country = min(entity)
        min_life = min(expectancy)
        avg_life = sum(expectancy) / len(expectancy)

        #max_life = -1
        #min_life = min(expectancy)
        #avg_life = sum(expectancy) / len(expectancy)

        max_country = ""
        max_year = max(year)
        min_country = min(entity)
        min_year = min(year)

        if expectancy > highest:
            highest_value = expectancy
            max_entity = entity
            max_year = year
        if expectancy < lowest:
            min_value = expectancy
            min_entity = entity
            min_year = year
            #min_life = min(expectancy)
           # min_country = min(entity)
        if input_year == year:
            print(f"For the year {input_year}.\n")
            max_life = expectancy
            min_life = expectancy
            max_country = entity
            min_country = entity

        print(f"The overall max life expectancy is:{max_life:.2f} from {max_country} in {max_year:.2f}.\n")
        print(f"The overall min life expectancy is:{min_life:.2f} from {min_country} in {min_year:.2f}.\n")
        print(f"The average life expectancy across all countries was str{avg_life:.2f}\n")
        print(f"The max life expectancy was in {max_country} with {max_life:.2f}\n")
        print(f"The min life expectancy was in {min_country} with {min_life:.2f}\n")

First of all - newline should be stripped. However, this will not solve the problem - to convert string to integer using int string must represent an integer literal in the given base

>>> int('27.638')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '27.638'
>>> int('27')
>>> help(int)
Help on class int in module builtins:

class int(object)
 |  int([x]) -> integer
 |  int(x, base=10) -> integer
 |  Convert a number or string to an integer, or return 0 if no arguments
 |  are given.  If x is a number, return x.__int__().  For floating point
 |  numbers, this truncates towards zero.
 |  If x is not a number or if base is given, then x must be a string,
 |  bytes, or bytearray instance representing an integer literal in the
 |  given base.  The literal can be preceded by '+' or '-' and be surrounded
 |  by whitespace.  The base defaults to 10.  Valid bases are 0 and 2-36.
 |  Base 0 means to interpret the base from the string as an integer literal.

If you’re going to work with .csv files, I’d recommend that you use the csv module.

There’s also a nice tutorial here:

For what it’s worth, int() has no problem dealing with leading and trailing whitespace. int(' 12 \n') returns 12.

Mea culpa. You are absolutely correct.