В Python можно использовать statsmodels.iolib.foreign.genfromdta
для чтения наборов данных Stata. Кроме того, имеется также оболочка вышеупомянутой функции, которую можно использовать для чтения файла Stata непосредственно из Интернета: statsmodels.datasets.webuse
.
Тем не менее, оба из вышеперечисленных основаны на использовании pandas.io.stata.StataReader.data
, который теперь является устаревшей функцией и устарел. Таким образом, новая функция pandas.read_stata
теперь должна всегда использоваться вместо .
Согласно исходному файлу из stata.py
, начиная с версии 0.23.0
, поддерживаются следующие параметры:
Версии файла данных Stata:
- 104
- 105
- 108
- 111
- 113
- 115
- 117
- 118
Допустимые кодировки:
- ascii
- US-ASCII
- латино-1
- latin_1
- ISO-8859-1
- iso8859-1
- 8859
- cp819
- латинский
- latin1
- L1
Как уже отмечали другие, функцию pandas.to_csv
можно затем использовать для сохранения файла на диск. Связанная функция numpy.savetxt
также может сохранять данные
в виде текстового файла.
EDIT:
Следующая информация взята из help dtaversion
в Stata 15.1:
Stata version .dta file format
----------------------------------------
1 102
2, 3 103
4 104
5 105
6 108
7 110 and 111
8, 9 112 and 113
10, 11 114
12 115
13 117
14 and 15 118 (# of variables <= 32,767)
15 119 (# of variables > 32,767, Stata/MP only)
----------------------------------------
file formats 103, 106, 107, 109, and 116
were never used in any official release.