![](/img/trans.png)
[英]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.