Зачем конвертировать DTA в CSV?
Файл Stata .dta - это проприетарный бинарный статистический набор данных, который понимает лишь несколько программ, в то время как .CSV открывается в Excel, Google Таблицах, любом мастере импорта баз данных и практически в любом инструменте для работы с данными. Конвертация в CSV - это стандартный шаг для обмена набором данных Stata с коллегами, у которых нет лицензии Stata.
Способы конвертации DTA в CSV
Python + pandas OPEN-SOURCE
Установите pandas и pyreadstat, затем загрузите данные с помощью pd.read_stata('file.dta') и запишите через .to_csv('output.csv', index=False); добавьте convert_categoricals=True, чтобы экспортировать метки значений как читаемый текст.
R + haven OPEN-SOURCE
Установите haven, выполните read_dta('file.dta') для загрузки данных, затем запишите с помощью write_csv() из readr; сначала вызовите as_factor(df), чтобы декодировать метки значений в текст.
Stata APP
Откройте .dta в Stata и выполните команду export delimited в окне команд для записи CSV.
Об этих форматах
Файл DTA - это почти всегда набор данных Stata, собственный бинарный формат статистического пакета StataCorp Stata. Вам не нужна платная лицензия Stata, чтобы открыть его: PondPilot…
Открыть детали .DTA →Файл CSV хранит табличные данные в виде обычного текста - по одной строке на запись, значения разделены запятыми (или точкой с запятой в европейских регионах). Его открывает любая…
Открыть детали .CSV →Качество и на что обратить внимание
- Категориальные столбцы хранят числовые коды внутри; без декодирования они экспортируются как числа, а не текстовые метки - используйте
convert_categoricals=Trueв pandas илиas_factor()в R, чтобы исправить это. - Метки переменных (длинные описания) - это метаданные, которые не поддерживаются форматом CSV и отбрасываются при выводе.
- PondPilot читает форматы Stata с 8 по 19, что охватывает все версии от Stata 8 до Stata 19.
Часто задаваемые вопросы
Нужна ли мне лицензия Stata для конвертации DTA в CSV?
Почему в CSV мои категориальные столбцы показывают числа вместо меток?
convert_categoricals=True в pandas или as_factor() в R, чтобы декодировать их в текст перед экспортом.