改进以下代码 def write_data_to_excel(self, data, targetfile): workbook = openpyxl.Workbook() try: # 获取默认的工作表 sheet = workbook.active # 写入数据 for row_index, row_data in enumerate(data,start=1): for col_index, col_data in enumerate(row_data,start=1): sheet.cell(row=row_index , column=col_index , value=col_data) finally: workbook.close()
时间: 2024-02-14 09:08:48 浏览: 322
Struts2 上传图片示例
这段代码已经很不错了,但是可以进一步简化。在 for 循环中,我们可以直接将二维列表 data 作为参数传给 sheet 的 append 方法,这样就不需要使用嵌套的循环了。同时,在写入数据之前,我们可以指定工作表的标题行,这样可以让数据更加清晰易读。改进后的代码如下:
```python
import openpyxl
def write_data_to_excel(data, targetfile):
# 创建一个工作簿
workbook = openpyxl.Workbook()
# 获取默认的工作表
sheet = workbook.active
# 指定标题行
sheet.append(["姓名", "年龄", "性别"])
# 写入数据
for row in data:
sheet.append(row)
# 保存工作簿
workbook.save(targetfile)
# 关闭工作簿
workbook.close()
```
在这个示例中,我们定义了一个函数 write_data_to_excel,它接受两个参数:data 和 targetfile。其中,data 是一个包含多行多列数据的二维列表,targetfile 是目标文件名。在函数中,我们首先创建了一个工作簿,然后获取了默认的工作表。接着,使用 append 方法指定了工作表的标题行,然后使用 append 方法将数据逐行写入工作表中。最后,使用 save 方法将工作簿保存到指定的文件中,并使用 close 方法关闭工作簿。
阅读全文