将jupyter中多个单元格的结果写入一个文件(不覆盖)
Writing results of several cells in jupyter to one file (no overwriting)
我有一个 jupyter notebook,我在其中 运行 使用许多不同的参数组合进行相同的模拟(本质上是模拟不同版本的环境及其对结果的影响)。假设每个 运行 的结果是一个图像和一个包含我系统所有相关指标的二维数组。我希望能够将图像保存在笔记本中,但将数组全部保存在一个地方,以便以后需要时可以使用它们。
理想情况下,我会将它们保存到具有以下格式的外部文件中:
'Experiment environment version i'(或其他描述)
二维数组
每次我 运行 一个新的模拟(一个新的单元),结果都会被添加到这个文件中,直到我关闭它。
任何想法如何结束这样的外部摘要文件?
如果您有 excel 可用,那么您可以使用 pandas 将结果写到一个跨页 sheet(或者您可以使用 pandas 到 write to a csv). See the documentation here,但本质上,在使用新的 sheet 附加 and/or 时,您会执行以下操作:
import pandas as pd
for i in results:
with pd.ExcelWriter('results.xlsx', mode='a') as writer:
df.to_excel(writer, sheet_name='Result'+i)
您需要将数组放入数据框 'df',关于如何将数组放入 pandas 中有很多 tutorials。
经过一些尝试和错误后,这里是如何写入 txt 的一般答案(没有 pandas,否则请参阅@jaybeesea 的答案)
with open("filename.txt", "a+") as f:
f.write("Comment 1 \n")
f.write("%s \n" %np.array2string(array, separator=' , '))
每次 运行 它都会添加到文件 "f"。
我有一个 jupyter notebook,我在其中 运行 使用许多不同的参数组合进行相同的模拟(本质上是模拟不同版本的环境及其对结果的影响)。假设每个 运行 的结果是一个图像和一个包含我系统所有相关指标的二维数组。我希望能够将图像保存在笔记本中,但将数组全部保存在一个地方,以便以后需要时可以使用它们。
理想情况下,我会将它们保存到具有以下格式的外部文件中:
'Experiment environment version i'(或其他描述)
二维数组
每次我 运行 一个新的模拟(一个新的单元),结果都会被添加到这个文件中,直到我关闭它。
任何想法如何结束这样的外部摘要文件?
如果您有 excel 可用,那么您可以使用 pandas 将结果写到一个跨页 sheet(或者您可以使用 pandas 到 write to a csv). See the documentation here,但本质上,在使用新的 sheet 附加 and/or 时,您会执行以下操作:
import pandas as pd
for i in results:
with pd.ExcelWriter('results.xlsx', mode='a') as writer:
df.to_excel(writer, sheet_name='Result'+i)
您需要将数组放入数据框 'df',关于如何将数组放入 pandas 中有很多 tutorials。
经过一些尝试和错误后,这里是如何写入 txt 的一般答案(没有 pandas,否则请参阅@jaybeesea 的答案)
with open("filename.txt", "a+") as f:
f.write("Comment 1 \n")
f.write("%s \n" %np.array2string(array, separator=' , '))
每次 运行 它都会添加到文件 "f"。