Download information from ATmega328p through USB

It would help to know how many temperature readings you would like to store, and how frequently you would take a reading. If it's a lot, say 100s or 1000s of readings, then you would need some external memory device to put them in between downloads.

SD cards have crazy amount of storage these days and are easy to use, thanks to the libraries that are already written for you.

If you only take readings once per hour and download once a week, then you could store the raw temperature in the internal EEPROM, then that's 24*7=168 readings at, say, 2 bytes per reading = 336 bytes per week. With the internal 1K EEPROM you could store over 2 weeks of readings.

I would generate the CSV on the fly when the download is carried out.