使用 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')