DictReader Excel文件

我有一个文件,我目前保存到csv,但它最初是一个Excel文件(Excel 2010)。

其内容是这样的:

Name;Category;Address McFood;Fast Food;Street 1 BurgerEmperor;Fast Food;Way 1 BlueFrenchHorn;French;Street 12 PetesPizza;Italian;whatever SubZero;Fast Food;Highway 6 

我把它保存为csv来parsing它。 目前我使用DictReader( 这里是代码和相应的问题 )

有没有像DictReader可用于像xlrd这样的Excel模块? 我将如何改变我的代码?

发布此作为可能帮助那些寻找类似的解决scheme的答案。 github(不是我的)有一个潜在的解决scheme。 可能需要一些调整来适用于你的特定情况: Github Gist

对于那些不想点击的人来说,这里是代码:

 try: import xlrd import mmap def XLSDictReader(f, sheet_index=0): data = mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) book = xlrd.open_workbook(file_contents=data) sheet = book.sheet_by_index(sheet_index) def item(i, j): return (sheet.cell_value(0,j), sheet.cell_value(i,j)) return ( dict(item(i,j) for j in range(sheet.ncols)) \ for i in range(1, sheet.nrows) ) except ImportError: XLSDictReader = None