在每个循环中写入结果以表现出色

问题描述

我有一个代码,该代码给出了基于案例的推理模型的预测,并将预测存储在Result_List。我有N个实验,每个实验都希望将预测结果存储在第N列的一个excel文件中。相反,现在我只能将它们存储在以out + t命名的不同excel文件中,out + t是正在处理的实验编号。您能帮忙弄清楚我如何将所有信息存储在一个excel文件中,每个实验中的不同列。 这是我编写卓越预测的部分。 t是实验编号(N) Y_test的长度为整数

##############################WRITE TO EXCEL
import xlsxwriter
wb=xlsxwriter.Workbook("out"+ str(t) + ".xlsx")
sheet1=wb.add_worksheet("out"+ str(t) +"results")
  
for g in range (len(y_test)):
sheet1.write((g),str(Result_List[g]))
wb.close()
################################################

解决方法

您可以使用现在使用的相同基本代码来执行此操作。您只需要遍历所有数据,并在对sheet1.write的调用中正确指定行号和列号。

我没有要使用的数据,但是假设您运行了6个测试,每个测试产生4个结果值。并且您希望每个测试为1列。这是您可能如何存储数据以及如何将其写到一张纸上的方法:

tests = [
    [1,2,3,4],[11,22,33,44],[6,7,8,9],[4,1],[45,77,223],[1,-2,-3,-4]
]

wb = xlsxwriter.Workbook("/tmp/out.xlsx")
sheet1 = wb.add_worksheet("results")

for test_num,test in enumerate(tests):
    for sample_num,r in enumerate(test):
        sheet1.write(sample_num,test_num,r)
wb.close()

这将生成此电子表格:

spreadsheet1

如果需要行标题和/或列标题,则可以添加一些逻辑。

,

您可以使用getFilesDir之类的东西,其中列和行号可以作为循环值。通过这种方式,您可以为每个实验创建一个新列,然后将值写入行中。

查看此链接以获取更多信息:Write the output from "for" loop to excel in PYTHON