[英]for loop to write multiple files as latex output in python
嘿,我是新手,學習經濟學課程的python和LaTeX,而且我有關於如何執行for循環以在多個tex文件中編寫LaTex輸出而不重復代碼的查詢。
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代碼,而不是像這樣寫
f = open('res.tex', 'w')
f.write(results.summary().as_latex())
f.close()
f = open('res1.tex', 'w')
f.write(res2.summary().as_latex())
f.close()
依此類推...有沒有辦法通過for循環來做到這一點?
您說“結果列表包含我運行的回歸的摘要”,但是您的代碼
result= ['res','res1','res2','res3']
顯然將result
作為字符串列表。 這給出了您的錯誤: “ AttributeError:'str'對象沒有屬性'summary'。”
如果您有四個變量,那么
result = [res, res1, res2, res3]
可能會給您列出您的回歸分析。
您似乎想要遍歷結果列表和文件名列表。
就像是
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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.