想把从txt里面读出来的字符串{"stuid": "1", "plus": "1.9", "num": "18.0", "work": "", "bonus": ""}转成字典
报错:
line = eval(line)
File "", line 0
SyntaxError: unexpected EOF while parsing
用了json.loads 和 ast.literal_eval都没有成功
这是相关代码片段
with open("temp_data_temp.txt", "r") as file_object:
"""写入每个人的分数"""
num = 1
while num < 59: #写入分数
x = 3 #总纵轴
#当在写入左半边时
while x < 32:
line = file_object.readline()
line = eval(line)
y = 3 #总横轴
while y < 7: #写入分数
if y == 3:
data = round(float(_check_save_data(line["plus"])), 1)
elif y == 4:
data = round(float(_check_save_data(line["num"])), 1)
elif y == 5:
data = round(float(_check_save_data(line["work"])), 1)
elif y == 6:
data = round(float(_check_save_data(line["bonus"])), 1)
sheet_weekly_report.cell(x, y).value = data
y += 1
x += 1
#当写入右半边时
while 31 < x < 61:
line = file_object.readline()
line = eval(line)
y = 9
while y < 13:
if y == 9:
data = round(float(_check_save_data(line["plus"])), 1)
elif y == 10:
data = round(float(_check_save_data(line["num"])), 1)
elif y == 11:
data = round(float(_check_save_data(line["work"])), 1)
elif y == 12:
data = round(float(_check_save_data(line["bonus"])), 1)
sheet_weekly_report.cell(x-29, y).value = data
y += 1
x += 1
num += 1
照理说eval和json.loads和ast.literal_eval这三种应该都是可以的,建议检查下别的地方,SyntaxError: unexpected EOF while parsing表示有语法问题