Here's a snippet from the reference for file.print:
data: the data to print (char, byte, int, long, or string)
It doesn't look like it takes float. I'd prove it with a much simpler sketch that just prints a float constant to a file in setup.
If it really doesn't work, use dtostrf to get the float into a string and print that to the file.