如何使用xlwt将Python脚本的运行结果输出到Excel工作表
xlwt 逐行写入Excel实现方法
首先修正你现有初始化代码的缩进错误,调整后基础代码如下:
import xlwt new_workbook = xlwt.Workbook(encoding='utf-8') new_sheet = new_workbook.add_sheet("1")
xlwt的new_sheet.write()方法核心参数为行号、列号、写入内容,行号和列号均从0开始计数,你可以根据自己的输出数据的生成方式选择对应写入逻辑:
场景1:已提前将所有运行结果整理为二维列表
如果你的脚本运行结果已经提前汇总为「每个子列表对应一行数据」的嵌套列表结构,可直接用双层循环遍历写入:
# 示例二维数据,替换为你自己的运行结果即可 run_results = [ ["实验编号", "参数A", "参数B", "输出结果", "误差值"], # 表头行 ["1", "0.1", "2.4", "12.7", "0.03"], ["2", "0.2", "2.6", "15.3", "0.02"], ["3", "0.3", "2.8", "18.9", "0.04"] ] # 遍历写入每一行 for row_idx, row_data in enumerate(run_results): # 遍历写入当前行的每一列 for col_idx, cell_content in enumerate(row_data): new_sheet.write(row_idx, col_idx, cell_content) # 所有内容写入完成后保存文件,路径可自行修改 new_workbook.save("硕士论文实验结果.xls")
场景2:脚本运行过程中逐次生成单行结果
如果你的结果是在循环迭代中逐次生成的,可自行维护行号计数器,每生成一行数据后行号+1即可:
current_row = 0 # 初始行号从0开始 # 替换为你自己的实验迭代逻辑 for exp in 你的实验迭代对象: # 你自己的运算逻辑 param_a = exp["a"] param_b = exp["b"] result = calculate(exp) error = get_error(result) # 写入当前行的多列内容 new_sheet.write(current_row, 0, current_row + 1) # 第一列写入序号 new_sheet.write(current_row, 1, param_a) # 第二列写入参数A new_sheet.write(current_row, 2, param_b) # 第三列写入参数B new_sheet.write(current_row, 3, result) # 第四列写入运算结果 new_sheet.write(current_row, 4, error) # 第五列写入误差值 current_row += 1 # 行号自增,下一次迭代写入下一行 # 所有迭代完成后保存文件 new_workbook.save("硕士论文实验结果.xls")
注意事项
- xlwt仅支持生成
.xls格式的Excel文件,如果你需要生成.xlsx格式可改用openpyxl库实现 - 数值类型的结果不需要转字符串写入,xlwt会自动保留数值格式,方便后续在Excel中做统计运算
- 所有内容全部写入完成后再调用
save方法即可,不需要重复保存
内容的提问来源于stack exchange,提问作者user16312756
相关产品推荐
相关产品推荐

