ExcelFiles的DictReader

2024-09-30 14:19:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文件,我目前保存到csv,但它原来是一个Excel文件(excel2010)。在

它的内容是这样的:

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以便能够解析它。目前我使用的是DictReader(here is the code and a corresponding question

有没有类似于DictReader这样的东西可以用于xlrd这样的Excel模块? 我将如何更改我的代码?在


Tags: 文件csvnamestreet内容foodaddressexcel
1条回答
网友
1楼 · 发布于 2024-09-30 14:19:31

贴出这是一个可能帮助那些寻找类似解决方案的答案。github上有一个要点(不是我的),其中包含了一个潜在的解决方案。可能需要一些调整以适用于您的特定情况: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

相关问题 更多 >