[英]Converting a String to a float and assigning that float as a value in a dictionary?
[英]Converting CSV information from str > float > int then assigning it to a value in a dictionary
当前代码...
import csv
import itertools
students = {}
def studentGradeCSV():
with open('/Users/home/Downloads/gradebook-export.csv') as csvfile:
reader = csv.DictReader(csvfile)
global students
students = {}
for row in reader:
name = row['Last Name'] + ', ' + row['First Name']
grade = row['Overall']
new_grade = []
for g in grade:
try:
v = int(float(g))
new_grade.append(v)
except ValueError:
new_grade.append(g)
for n, gr in itertools.product(name, new_grade):
students[n] = gr
'等级'索引的示例-'N / A','92.13','100','87.2','91','0'
“等级”变量是字符串。 我想先将它们转换为整数,然后再将它们作为键值分配给'name'变量中的值。 我以前已经能够将'grade'int密钥转换为名称值,但是它们的分配不正确,因为字典无法正确地抓住它们。
不确定从这里去哪里??
不知道为什么要对单个值使用for
循环:
name = row['Last Name'] + ', ' + row['First Name']
grade = row['Overall']
try:
grade = int(float(grade))
except ValueError:
pass
students[name] = grade
您的for
循环和itertools.product
将字符串视为字符序列,例如
for g in 'N/A':
将产生new_grade = ['N', '/', 'A']
。
然后:
itertools.product("Name", ['N', '/', 'A']
产生序列('N', 'N'), ('N', '/'), ('N', 'A'), ('a', 'N'), ...
你在看什么
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.