TonG_L
丢失想象
采纳率0%
2020-05-23 14:37 阅读 177

求助大佬们!!!python中重复键的字典创建问题

我想把一个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]
    }

怎么搞?提前感谢了!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

相关推荐