繁体   English   中英

读取Excel文件并将数据写入字典

[英]Read Excel file and write the data to a dictionary

我有一个包含两列的Excel文件,如下所示:

Reviews| Numbers
text1 | 1,3
text2 | 2
text3 | 1
text4 | 2
text5 | 1

我正在读取数据,如下所示:

def read_xls(filename):
    book = xlrd.open_workbook(filename)
    sheet = book.sheet_by_index(0)
    data=[]
    for row_index in xrange(1, sheet.nrows): # skip heading row
        reviews, numbers = sheet.row_values(row_index, end_colx=2)
        data.append(reviews)

但是,我希望将结果存储在字典中,而不是将列作为单独的列表,如下所示:

{1: [text1, text3, text5], 2: [text2, text4], 3: [text1]}

我怎么做?

它应该与下面的代码一起使用

def read_xls(filename):
    book = xlrd.open_workbook(filename)
    sheet = book.sheet_by_index(0)
    data = {}
    for row_index in xrange(1, sheet.nrows): # skip heading row
        reviews, numbers = sheet.row_values(row_index, end_colx=2)
        number_list = numbers.split(",")
        for number in number_list: 
            if number not in data:
                data[number] = []
            data[number].append(reviews)

您可以使用defaultdict

from collections import defaultdict
data = defaultdict(list)

for row_index in xrange(1, sheet.nrows): 
    reviews, numbers = sheet.row_values(row_index, end_colx=2)
    data[numbers].append(reviews)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM