Импорт иностранных языков из CSV-файла в Stata
Я использую Stata 12. Я столкнулся со следующими проблемами. Я импортирую кучу файлов.csv в Stata, используя insheet
команда. Наборы данных могут содержать русские, хорватские, турецкие и т. Д. Я думаю, что они закодированы в "UTF-8". В файлах.csv они правильные. После того, как я импортировал их в Stata, исходные строки неверны и становятся странными символами. Не могли бы вы помочь мне с этим? Может ли Stat-Transfer решить проблемы? Поддерживает ли он формат.csv?
Например, оригинальный файл выглядит так:
Мой код выглядит так: insheet, используя name.csv, cn save name.dta, replace
Результат похож на:
И я попытался настроить скрипт в опции шрифтов, которая не работает.
2 ответа
Обновить ответ: Начиная с версии 14, вся Stata поддерживает Unicode. Это результаты, файлы справки, файлы do, файлы ado, метки данных и т. д.
Это не помогает пользователям, ограниченным доступом к версиям Stata до 14, но является одним из решений. Используя пример ОП:
. insheet using "/home/Alexis/Desktop/data.csv"
(3 vars, 4 obs)
. ed
. list
+------------------------------------------------------------------------------+
| v1 v2 v3 |
|------------------------------------------------------------------------------|
1. | RU00040778 RUS ПРAЙCBOTEРXAУCKУПEРC AУДИT |
2. | RU00044434 RUS КПMГ |
3. | RU00044428 RUS Эрнст энд Янг |
4. | RU00044428 RUS Аудиторско-консулбтационная группа Раэвитие Биэнес-систем |
+------------------------------------------------------------------------------+
Как прокомментировал @Nick Cox ранее, проблема в том, что Stata просто не поддерживает кодировку Unicode/UTF-8. Нет, StatTransfer не решит проблему (обратитесь к этому объяснению).
Вы можете сделать трюк, используя онлайн-декодер или MS Word. Давайте сделаем это сначала одним языком, скажем, русским, как на ваших скриншотах. Проверьте правильность кодировки для хорватского, турецкого и других языков, которые у вас есть.
- Сохраните строковую переменную из файла.csv в виде обычного текста (.txt), выбрав опцию кодировки UTF-8.
- Кодировка преобразования:
- Используйте iconv, предложенный @Dimitriy V. Masterov, или
- Используйте онлайн-инструмент, такой как этот: загрузите файл.txt, выберите исходную кодировку как UTF-8 и выведите кодировку в соответствии с языком интереса (для русского языка это должен быть CP1251), нажмите кнопку "конвертировать" и сохраните выходной файл, или же
- Если у вас есть MS Office, вы можете использовать MS Word для той же цели. Щелкните правой кнопкой мыши файл.txt, выберите "Открыть с помощью...", выберите "Открыть с помощью MS Word". В появившемся окне подтвердите, что кодировкой файла является "Unicode (UTF-8)", откройте, затем нажмите "Сохранить как...", чтобы сохранить как обычный текст. В появившемся окне выберите "Кириллица (Windows)" и отметьте "Вставить разрывы строк". Сохранить.
- Проверьте ваш новый файл.txt - в нем все еще должны быть какие-то странные символы (например, ÌßÑÎÊÎÌÁÈÍÀÒ), но теперь Stata может отображать их правильно.
- Скопируйте и вставьте новую строковую переменную в Stata Data Editor, щелкните правой кнопкой мыши по переменной, выберите "Шрифт...", а затем строку "Кириллица". Вы должны видеть правильные имена на экране как в редакторе данных, так и в окне результатов (даже если сама строка не повреждена).
В зависимости от вашей ОС, вам может потребоваться сначала установить все соответствующие языки.
Надеюсь, поможет.