excel表中数据是这样的:
姓名 科目 分数
张三 语文 89
张三 数学 90
李四 数学 84
王五 英语 78
读完后的结果:dict= {'张三':{‘语文’:89,'数学':90},'李四':{'数学':84},'王五':{'英语':78}}
我原来是用openpyxl实现的,每一行逐一读取ABC3个列,然后用setdefault追加。但这个库跑起来太慢了,表格很大的时候(比如100万行),整个读完得半个小时。我了解到pandas和xlrd等库效率比较高,但不知道如何实现,向大家请教。
如何用高效将excel表读入字典?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
threenewbee 2023-04-14 23:16关注import pandas as pd # 读入Excel文件 df = pd.read_excel("your_excel_file.xlsx") # 创建一个空字典 result_dict = {} # 在DataFrame对象上进行迭代 for index, row in df.iterrows(): # 从当前行获取姓名,科目和分数数据 name, subject, score = row["姓名"], row["科目"], row["分数"] # 按需创建新字典 if name not in result_dict: result_dict[name] = {} # 在新字典中保存分数 result_dict[name][subject] = score # 输出转换后的字典 print(result_dict)本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报