用python讀取stata文件及寫入and注意事項


讀取:

由於stata沒有專門模塊,是從pandas里面調用,官方文檔少之又少,故去查看源代碼

#!/usr/bin/env python
# -*- coding:utf-8 -*-

from pandas.io.stata import StataReader, StataWriter

filename_all = r"/opt/code/my_code/testStata/test.dta"

# stata_data = StataReader(filename_all, convert_categoricals=False, encoding='utf-8')
# stata_data = StataReader(filename_all, encoding='utf8')
stata_data = StataReader(filename_all, convert_categoricals=False)


data = stata_data.read()


varlist = stata_data.varlist


value_labels = stata_data.value_labels()

fmtlist = stata_data.fmtlist

variable_labels = stata_data.variable_labels()

print(data)
print(varlist)
print(value_labels)
print(fmtlist)
print(variable_labels)


writer = StataWriter(fname='mytest_1.dta', data=data, variable_labels=variable_labels)
writer.write_file()

# 注意:
# 在寫入的時候
# 沒有value_labels這個選項
# variable_labels選項數據必須是latin-1的字符集,否則報錯
# 並且不能encoding=‘utf-8’
# 但是2.7這些都有, 但3.5已經封裝程statawriter, 而2.7里面是df.to_stata

 

stataWrier。。。。暫時沒寫呢

注意事項

1. 當用windows的時候注意路徑前面加: r

2. 注意編碼方式,encoding:utf-8

3. 時間格式那里

4. 還有個啥來着,忘了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM