Q:

How can I convert the list string to a float

I'm using the Python turtle to map out hurricane Irma's path. After reading the file and obtaining the useful data (latitude, longitude, and wind speed), I was getting errors about how the mapping section of the code cannot accept strings. But when I tried to convert the list values to float, it gives me the ValueError: could not convert string to float: '.'. I tried using .split, but then I get the error: not enough values to unpack.
#open the file and extract the data
    with open("irma.csv", 'rt') as csvfile:
        reader = csv.DictReader(csvfile)
        for row in reader:
            latitude = row["Lat"]
            longitude = row["Lon"]
            windspeed = row["Wind"]

#convert to float
    latitude = [float(i) for i in latitude]
    longitude = [float(i) for i in longitude]

#mapping the data to the Python turtle function
    for lat, lon in latitude, longitude:
        t.setpos(lat, lon)
        for index in windspeed:
            if index < 74:
                t.pencolor("White")
                t.width(2)
            elif 74 <= index <= 95:
                t.pencolor("Blue")
                t.width(4)
            elif 96 <= index <= 110:
                t.pencolor("Green")
                t.width(6)
            elif 111 <= index <= 129:
                t.pencolor("Yellow")
                t.width(8)
            elif 130 <= index <= 156:
                t.pencolor("Orange")
                t.width(10)
            elif windspeed >= 157:
                t.pencolor("Red")
                t.width(12)

A:

latitude = [float(i) for i in latitude]

There is a problem with this line. latitude starts off as a string, for example "100.5". When you do [float(i) for i in latitude], Python iterates over each character in that string and attempts to convert it into a float, effectively doing:
latitude = [float("1"), float("0"), float("0"), float("."), float("5")]

But float(".") fails, because you can't convert a decimal point to a float.
I'm guessing that you actually intended for latitude to start off as a list of strings, which would become a list of floats after executing this line. If that's the case, then you need to amend your csv-reading code. Currently it assigns string values to latitude, longitude, and windspeed, with each iteration completely overwriting any values that were read in a previous iteration. If you want to accumulate all the values without overwriting, then you need to create the variables as lists and append to them.
latitude = []
longitude = []
windspeed = []
#open the file and extract the data
with open("irma.csv", 'rt') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        latitude.append(row["Lat"])
        longitude.append(row["Lon"])
        windspeed.append(row["Wind"])

This should be sufficient by itself, but you can also delete the float-conversion list comprehensions and simply do the conversion directly in this loop. (And while we're at it, let's pluralize the variable names, which is conventional when dealing with list data)
latitudes = []
longitudes = []
windspeeds = []
#open the file and extract the data
with open("irma.csv", 'rt') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        latitudes.append(float(row["Lat"]))
        longitudes.append(float(row["Lon"]))
        windspeeds.append(float(row["Wind"]))

