将excel列1读入Python字典键,将列2读入值
我有一张excel表格,其中包含以下内容:将excel列1读入Python字典键,将列2读入值,python,excel,dictionary,Python,Excel,Dictionary,我有一张excel表格,其中包含以下内容: Column1 Column2 A 1 B 2 C 3 D 4 我想通过以下方式将该工作表读入Python词典: Key : Value A : 1 B : 2 C : 3 D : 4 如何执行此操作?您可以使用xlrd模块,如下所示: import xlrd workbook = xlrd.open_workbook(r"input.xlsx
Column1 Column2
A 1
B 2
C 3
D 4
我想通过以下方式将该工作表读入Python词典:
Key : Value
A : 1
B : 2
C : 3
D : 4
如何执行此操作?您可以使用
xlrd
模块,如下所示:
import xlrd
workbook = xlrd.open_workbook(r"input.xlsx")
sheet = workbook.sheet_by_index(0)
col_a = sheet.col_values(0, 1)
col_b = sheet.col_values(1, 1)
my_dict = {a : b for a, b in zip(col_a, col_b)}
print my_dict
这将显示给定数据的以下输出:
{u'A': 1.0, u'C': 3.0, u'B': 2.0, u'D': 4.0}
它首先为每一列创建一个列表,跳过顶部的
列a
行。然后,它使用Python的zip
命令和字典理解来构建包含每对列值的字典。您可以使用xlrd
模块,如下所示:
import xlrd
workbook = xlrd.open_workbook(r"input.xlsx")
sheet = workbook.sheet_by_index(0)
col_a = sheet.col_values(0, 1)
col_b = sheet.col_values(1, 1)
my_dict = {a : b for a, b in zip(col_a, col_b)}
print my_dict
这将显示给定数据的以下输出:
{u'A': 1.0, u'C': 3.0, u'B': 2.0, u'D': 4.0}
它首先为每一列创建一个列表,跳过顶部的
列a
行。然后,它使用Python的zip
命令和字典理解来构建一个包含每对列值的字典。Hmm…您尝试了什么吗?是的,我有:dict\u list=[]用于xrange(1,sheet.nrows)中的row\u索引:d={keys[col\u index]:sheet.cell(row\u index,col\u index)xrange(sheet.ncols)中col_index的.value}dict_list.append(d)但我希望它运行在另一个轴上我建议使用它而不是注释,它在注释中不可读:)嗯…你尝试了什么吗?是的,我有:dict_list=[]用于xrange(1,sheet.nrows)中的行索引:d={keys[col u index]:sheet.cell(row_index,col_index).xrange(sheet.ncols)}dict_list.append(d)中col_index的值,但我希望它在其他轴上运行,我建议使用它而不是注释,注释中不可读:)