小编Ron*_*son的帖子

与xlrd相比,使用openpyxl读取Excel文件的速度要慢一些

我有一个Excel电子表格,我需要每天导入到SQL Server.该电子表格将包含约50列的约250,000行.我使用openpyxlxlrd使用几乎相同的代码测试了它们.

这是我正在使用的代码(减去调试语句):

import xlrd
import openpyxl

def UseXlrd(file_name):
    workbook = xlrd.open_workbook(file_name, on_demand=True)
    worksheet = workbook.sheet_by_index(0)
    first_row = []
    for col in range(worksheet.ncols):
        first_row.append(worksheet.cell_value(0,col))
    data = []
    for row in range(1, worksheet.nrows):
        record = {}
        for col in range(worksheet.ncols):
            if isinstance(worksheet.cell_value(row,col), str):
                record[first_row[col]] = worksheet.cell_value(row,col).strip()
            else:
                record[first_row[col]] = worksheet.cell_value(row,col)
        data.append(record)
    return data


def UseOpenpyxl(file_name):
    wb = openpyxl.load_workbook(file_name, read_only=True)
    sheet = wb.active
    first_row = []
    for col in range(1,sheet.max_column+1):
        first_row.append(sheet.cell(row=1,column=col).value)
    data = []
    for r in range(2,sheet.max_row+1): …
Run Code Online (Sandbox Code Playgroud)

python xlrd openpyxl

16
推荐指数
1
解决办法
3万
查看次数

标签 统计

openpyxl ×1

python ×1

xlrd ×1