使用 openpyxl 存储二维数据的几种常见方式包括:
1.使用单元格坐标逐个写入数据:
from openpyxl import Workbook # 创建一个新的工作簿和工作表 workbook = Workbook() worksheet = workbook.active data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # 逐个写入数据到工作表的单元格中 for row_index, row_data in enumerate(data, start=1): for column_index, cell_value in enumerate(row_data, start=1): worksheet.cell(row=row_index, column=column_index).value = cell_value # 保存工作簿 workbook.save('filename.xlsx')
2.使用 append() 方法一次写入一行数据:
from openpyxl import Workbook # 创建一个新的工作簿和工作表 workbook = Workbook() worksheet = workbook.active data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # 一次写入一行数据 for row_data in data: worksheet.append(row_data) # 保存工作簿 workbook.save('filename.xlsx')
3.使用 iter_rows() 方法批量写入数据:
from openpyxl import Workbook # 创建一个新的工作簿和工作表 workbook = Workbook() worksheet = workbook.active data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # 批量写入数据 for row_index, row in enumerate(worksheet.iter_rows(min_row=1, max_row=len(data), max_col=len(data[0])), start=1): for column_index, cell in enumerate(row, start=1): cell.value = data[row_index - 1][column_index - 1] # 保存工作簿 workbook.save('filename.xlsx')
4.使用数组加字典的方式存储二维数据:
可以将每一行视为一个字典,然后将这些字典组成一个数组。以下是示例代码:
from openpyxl import Workbook # 创建一个新的工作簿和工作表 workbook = Workbook() worksheet = workbook.active data = [ {'Column1': 1, 'Column2': 'A', 'Column3': True}, {'Column1': 2, 'Column2': 'B', 'Column3': False}, {'Column1': 3, 'Column2': 'C', 'Column3': True} ] # 写入表头 header = list(data[0].keys()) worksheet.append(header) # 写入数据 for row in data: worksheet.append(list(row.values())) # 保存工作簿 workbook.save('filename.xlsx')