for循环在python中将多个文件作为latex输出写入

2024-06-16 14:02:24 发布

您现在位置:Python中文网/ 问答频道 /正文

嘿,我是经济学课程学习python和LaTeX的新手,我有一个关于如何在不重复代码的情况下在多个tex文件中编写LaTeX输出的for循环的问题。在

result= ['res','res1','res2','res3']
for r in result:
   f = open(r +'.tex', 'w')
   latex= r.summary().as_latex()
   f.write(latex)
   f.close()'

上面的代码给出了一个AttributeError:“str”对象没有属性“summary”。在

结果列表包含我运行的回归的摘要。所以每个res都是OLS回归的总结。我想通过for循环将摘要转换为LATeX代码,而不是像这样编写

^{pr2}$

等等。。。 有没有办法通过for循环来完成?在


Tags: 文件代码for情况resresultsummary课程
1条回答
网友
1楼 · 发布于 2024-06-16 14:02:24

你说“结果列表包含我运行的回归的摘要”,但是你的代码

result= ['res','res1','res2','res3']

显然,result是一个字符串列表。 这将导致错误:“AttributeError:'str'对象没有属性”“summary”“。”

如果你有四个变量,那么

^{pr2}$

会给你一张你的回归表。在


您似乎希望浏览结果列表和文件名列表。在

有点像

result = [res, res1, res2, res3]
filename = ['res', 'res1', 'res2', 'res3']

你可以这样做

for (res, name) in zip(result, filename):
   f = open(name +'.tex', 'w')
   latex= res.summary().as_latex()
   f.write(latex)
   f.close()

甚至更好

for (res, name) in zip(result, filename):
   with f = open(name +'.tex', 'w')
       latex = res.summary().as_latex()
       f.write(latex)

相关问题 更多 >