stata在数据处理与分析方面具有一定的优势,而且软件又小,在配置一般的PC机里运行也较为流畅。
#1.另外保存do文件,在python中运行外部do文件
import subprocess
import codecs
import os
stata_path="C:\\Program Files (x86)\\Stata14\\StataMP-64.exe"
dofile_path="C:\\Users\\jack\\PycharmProjects\\201803\\dofile.do"
# # stata程序名称为"StataMP-64.exe"
cmd = [stata_path, "doedit", dofile_path]
subprocess.call(cmd)
# 2.有时会遇到改变do文档内容的情形,因此需要在python中写一个do文档
varstr='price length weight'
code='''clear all
sysuse auto
sum
reg '''
statacode=code+varstr
with codecs.open('dofile_2.do','w',encoding='utf-8') as f:
f.write(statacode)
f.close()
cmd = [stata_path, "do", dofile_path]
subprocess.call(cmd)
# 关闭stata
os.system('TASKKILL /F /IM StataMP-64.exe')
#3. 在python和stata中传递数据(最容易想到的一个思路是将要传递的内容保存下来ÿ