import pandas as pd
def get_data():
with open("成绩单.txt", "r") as f:
score_dict = {}
head = f.readlines()
head[0] = head[0].replace("\n", "")
head_list = head[0].split(",")
# 循环,一直到没有数据可读
for data in head[1:]:
data = data.replace("\n", "")
student_info_list = data.split(",")
for i in range(len(head_list)):
if i == 0:
name = student_info_list[i]
score_dict[name] = {}
else:
score_dict[name][head_list[i]] = student_info_list[i]
return score_dict
def save_excel(data):
result = pd.DataFrame()
# Todo
# 请在下面补充三行代码完成两层for循环。
print(result)
result.to_excel("./tmp/成绩单.xlsx")
data = get_data()
save_excel(data)
1、使用result = pd.DataFrame( )建立一个空的pandas表格,记得使用import pandas as pd 导入pandas并命名为pd;
2、使用两个for循环遍历字典,第一层遍历时取到姓名,第二层遍历时取到学科;
3、将数据存储为行名为姓名,列名为学科的excel数据,也就是result.loc[姓名,学科名] = data[姓名][学科名];
4、使用print(result)查看数据,使用result.to_excel("./tmp/成绩单.xlsx")保存数据。
类似这样,要看你的数据样式是什么样的,将course替换成学科列表。
for k,v in data.items():
for c in course:
result.loc[k,c] = data[k][c]