我想把一个excel数据转化成字典。其中第一列作为key值,
其他列合并成列表作为值。
表格:
预期效果是
{ 'a':[1, 2, 3],[10, 11, 12]... 'b':[4, 5, 6],[13, 14, 15]... 'c':[7, 8, 9],[16, 17, 18]... }
刚开始用了这样的代码尝试:
def read_excel(bookname, sheetname):
# 打开Excel文件
wb = xlrd.open_workbook(bookname)
sheet = wb.sheet_by_name(sheetname)
dic = {}
for i in range(sheet.nrows - 1):
lis = []
for j in range(sheet.ncols):
lis.append(sheet.cell(i + 1, j).value)
dic[sheet.cell(i + 1, 0).value] = lis #第一列作为key
print(dic)
return dic
但是由于表格中有大量重复的key,所以结果是后面的相同key的value值会覆盖前面的,得到的结果是
{ 'a':[10, 11, 12] 'b':[13, 14, 15] 'c':[16, 17, 18] }
怎么搞?提前感谢了!