在每个循环中将结果写入 excel

Writing results to excel within each loop

我有一个代码可以为基于案例的推理模型提供预测,我将预测存储在 Result_List 中。我有 N 个实验,每个实验我都想将预测存储在第 N 列的一个 excel 文件中。相反,现在我只能将它们存储在不同的 excel 文件中,这些文件以 out + t 命名,这是正在处理的实验编号。你能帮忙弄清楚我如何将所有信息存储在一个 excel 文件中,每个实验都有不同的列。 这是我将预测写入 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),0,str(Result_List[g]))
wb.close()
################################################

您可以使用类似 sheet1.cell(row=..,column=..) 的方式,其中列号和行号可以是循环值。这样,您可以为每个实验创建一个新列,然后在该行中写入值。

查看此 link 了解更多信息:Write the output from "for" loop to excel in PYTHON

您可以使用与现在相同的基本代码来执行此操作。您只需要遍历所有数据,并在调用 sheet1.write.

时正确指定行号和列号

我没有你的数据可以使用,但我们假设你 运行 6 个测试,每个测试产生 4 个结果值。你希望每个测试都是 1 列。以下是您可能如何存储该数据,以及如何将其写入单个 sheet:

tests = [
    [1, 2, 3, 4],
    [11, 22, 33, 44],
    [6, 7, 8, 9],
    [4, 3, 2, 1],
    [45, 33, 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()

这会产生这种价差sheet:

如果您想要行 and/or 列 headers,您可以添加更多逻辑。