import timeit import xlwt import openpyxl import xlsxwriter # 使用xlwt生成Excel文件 def test_xlwt(): workbook = xlwt.Workbook() worksheet = workbook.add_sheet('Sheet1') for i in range(1000): for j in range(100): worksheet.write(i, j, f'Cell ({i}, {j})') workbook.save('xlwt_example.xls') # 使用openpyxl生成Excel文件 def test_openpyxl(): workbook = openpyxl.Workbook() worksheet = workbook.active for i in range(1, 1001): for j in range(1, 101): worksheet.cell(i, j, value=f'Cell ({i}, {j})') workbook.save('openpyxl_example.xlsx') # 使用openpyxl生成Excel文件 def test_openpyxl_fast(): workbook = openpyxl.Workbook(write_only=True) worksheet = workbook.create_sheet() for i in range(1, 1001): row_data = [f'Cell ({i}, {j})' for j in range(1, 101)] worksheet.append(row_data) workbook.save('openpyxl_example.xlsx') # 使用xlsxwriter生成Excel文件 def test_xlsxwriter(): workbook = xlsxwriter.Workbook('xlsxwriter_example.xlsx') worksheet = workbook.add_worksheet() for i in range(1000): for j in range(100): worksheet.write(i, j, f'Cell ({i}, {j})') workbook.close() if __name__ == '__main__': xlwt_time = timeit.timeit(test_xlwt, number=1) print(f"xlwt: {xlwt_time:.5f} seconds") openpyxl_time = timeit.timeit(test_openpyxl, number=1) print(f"openpyxl: {openpyxl_time:.5f} seconds") openpyxl_time = timeit.timeit(test_openpyxl_fast, number=1) print(f"openpyxl_fast: {openpyxl_time:.5f} seconds") xlsxwriter_time = timeit.timeit(test_xlsxwriter, number=1) print(f"xlsxwriter: {xlsxwriter_time:.5f} seconds")