def read_csv(filename):
string_data = open(filename).read()
string_list = string_data.split("\n")[1:]
final_list = []
for row in string_list:
string_fields = row.split(",")
int_fields = []
for value in string_fields:
int_fields.append(value)
final_list.append(int_fields)
return final_list
cdc_list = read_csv("US_births_1994-2003_CDC_NCHS.csv")
cdc_list[0:3]
когда я запускаю этот код, я получил результат так:
[['1994', '1', '1', '6', '8096'], ['1994', '1', '2', '7', '7772'], ['1994', '1', '3', '1', '10142']]
Но я хочу, чтобы результат был примерно таким:
[[1994, 1, 1, 6, 8096], [1994, 1, 2, 7, 7772], [1994, 1, 3, 1, 10142]]
ты можешь помочь мне с этим?
Следующее понимание списка преобразует строки в подсписках cdc_list
в целые числа:
[list(map(int, s)) for s in cdc_list]
csv
используйте модульcsv
, это значительно облегчит чтение. Вы пробовали печататьvalue
?[1994,1,1,6,8097]
не может быть преобразован в число с плавающей точкой