它只显示 list.Can 的第一个元素 谁能告诉我错误是什么?
It is displaying only the first element of list.Can anyone tell me what the error is?
def read_csv(file_name):
f=open(file_name).read()
lis=f.split("\n")
string_list=lis[1:len(lis)-1]
final_list=[]
for a in string_list:
string_fields=a.split(",")
int_field=[];
for value in string_fields:
int_field.append(int(value))
final_list.append(int_field)
return(final_list)
cdc_list=read_csv("US_births_1994-2003_CDC_NCHS.csv")
print(cdc_list[0:10])
这只显示了 cdc 的第一个元素list.I我找不到错误
这是因为你的缩进。当您阅读您的代码时,您会看到,在 string_list
中的第一个 value
之后,您从函数中 return
将你的 return 向左移动 4 个空格,它应该可以工作:
def read_csv(file_name):
f=open(file_name).read()
lis=f.split("\n")
string_list=lis[1:len(lis)-1]
final_list=[]
for a in string_list:
string_fields=a.split(",")
int_field=[];
for value in string_fields:
int_field.append(int(value))
final_list.append(int_field)
return(final_list)
cdc_list=read_csv("US_births_1994-2003_CDC_NCHS.csv")
print(cdc_list[0:10])
较短的版本:
def read_csv(file_name):
with open(file_name) as f:
#read lines
lines = [line.strip() for line in f.readlines()]
#remove header
lines = lines[1:]
# split lines and cast to integer
lines = [[int(val) for val in line.split(',')] for line in lines]
return(lines)
def read_csv(file_name):
f=open(file_name).read()
lis=f.split("\n")
string_list=lis[1:len(lis)-1]
final_list=[]
for a in string_list:
string_fields=a.split(",")
int_field=[];
for value in string_fields:
int_field.append(int(value))
final_list.append(int_field)
return(final_list)
cdc_list=read_csv("US_births_1994-2003_CDC_NCHS.csv")
print(cdc_list[0:10])
这只显示了 cdc 的第一个元素list.I我找不到错误
这是因为你的缩进。当您阅读您的代码时,您会看到,在 string_list
value
之后,您从函数中 return
将你的 return 向左移动 4 个空格,它应该可以工作:
def read_csv(file_name):
f=open(file_name).read()
lis=f.split("\n")
string_list=lis[1:len(lis)-1]
final_list=[]
for a in string_list:
string_fields=a.split(",")
int_field=[];
for value in string_fields:
int_field.append(int(value))
final_list.append(int_field)
return(final_list)
cdc_list=read_csv("US_births_1994-2003_CDC_NCHS.csv")
print(cdc_list[0:10])
较短的版本:
def read_csv(file_name):
with open(file_name) as f:
#read lines
lines = [line.strip() for line in f.readlines()]
#remove header
lines = lines[1:]
# split lines and cast to integer
lines = [[int(val) for val in line.split(',')] for line in lines]
return(lines)