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的第一个元素。我无法找到错误
答案 0 :(得分:0)
这是因为你的缩进。当您阅读代码后,您会看到return
value
中的string_list
后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])
将你的返回4个空格向左移动它应该有效:
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)
更短的版本:
public double score { get; set; }
}
class Student
{
public int _id { get; set; }
public string name { get; set; }
public List<Score> scores { get; set; }
}
class Program
{
static void Main(string[] args)
{
MainAsync(args).Wait();
Console.WriteLine();
Console.WriteLine("press enter");
Console.ReadLine();
}
static async Task MainAsync(string[] args)
{
var client = new MongoClient();
var db = client.GetDatabase("school");
var col = db.GetCollection<Student>("students");
var filter = Builders<Student>.Filter.Eq("scores.type", "homework");
await col.Find(filter)
.ForEachAsync(c => Console.WriteLine(c));
}
}