有时我们需要将一个Excel表格文件中的全部或一部分数据导入到Python并转换为字典格式,如何实现呢?
我们以如下所示的一个表格(.xlsx
格式)作为简单的示例。其中,表格共有两列,第一列为学号
,第二列为姓名
,且每一行的学号
都不重复;同时表格的第一行为表头。
假设我们需要将第一列的学号
数据作为字典的键
,而第二列姓名
数据作为字典的值
。
首先,导入必要的库。
from openpyxl import load_workbook
随后,列出需要转换为字典格式数据的Excel文件的路径与名称,以及数据开头所在行、数据的总行数。在这里,由于第一行是表头,因此开头所在行look_up_table_row_start
就是2
;同时这个表格共有32位同学的信息,因此总行数look_up_table_row_number
就是32
。
look_up_table_path='F:/学习/2020-2021-2/形势与政策(二)/论文与学习心得/01_学习心得/Name_Number.xlsx' look_up_table_row_start=2 look_up_table_row_number=32
接下来,我们就可以直接依次读取Excel表格文件中的数据,并将其导入到字典格式的变量name_number_dict
中。
name_number_dict={} look_up_table_excel=load_workbook(look_up_table_path) look_up_table_all_sheet=look_up_table_excel.get_sheet_names() look_up_table_sheet=look_up_table_excel.get_sheet_by_name(look_up_table_all_sheet[0]) for i in range(look_up_table_row_start,look_up_table_row_start+look_up_table_row_number): number=look_up_table_sheet.cell(i,1).value name=look_up_table_sheet.cell(i,2).value name_number_dict[number]=name
至此,大功告成啦~我们来看一看name_number_dict
此时的状态:
其中,Key
就是原本Excel中的学号
,Value
(就是右侧的马赛克区域)就是原本Excel中的姓名
;还可以从上图的标题中看到,这个字典共有32个elements
,也就是对应着原本Excel中32位同学的信息。