Вы можете вернуться из функции только один раз, поэтому в read_csv_file выполняется только первый оператор возврата (возвращаемые температуры). Остальные данные забываются.
Простой способ обойти это - бросить все ваши списки в кортеж, а затем вернуть кортеж. Итак, в read_csv_file вы должны поместить:
data = (temperatures, fans, modes, louvers, swings)
return data
Затем, чтобы использовать данные позже, вам нужно сохранить эти данные в переменной и проиндексировать их для любого списка, который вы хотите распечатать.
Полное решение с использованием ваших методов может быть следующим:
import csv
def read_csv_file(filename):
temperatures = []
fans = []
modes = []
louvers = []
swings = []
with open(filename, 'r') as csv_file:
csv_reader = csv.reader(csv_file)
for line in csv_reader:
temperatures.append(line[1])
fans.append(line[2])
modes.append(line[3])
louvers.append(line[4])
swings.append(line[5])
return (temperatures, fans, modes, louvers, swings)
def get_feature(data):
#... do whatever you plan on doing
print(data[0]) # for temperatures
print(data[1]) # for fans
print(data[2]) # for modes
print(data[3]) # for louvers
print(data[4]) # for swings
filename = 'ir_raw.csv'
csv_data = read_csv_file(filename)
get_feature(csv_data)
В качестве альтернативы, вместо использования модуля CSV, можно использовать numpy .genfromtxt или pandas .read_csv.