将外语从csv文件导入Stata

时间:2013-10-07 17:45:57

标签: csv stata unicode-string dta

我正在使用Stata 12.我遇到了以下问题。我使用insheet命令将一堆.csv文件导入Stata。数据集可以包括俄语,克罗地亚语,土耳其语等。我认为它们以“UTF-8”编码。在.csv文件中,它们是正确的。将它们导入Stata后,原始字符串不正确并成为奇怪的字符。你能帮帮我吗? Stat-Transfer能否解决问题?它是否支持.csv格式?

例如, 原始文件如下: enter image description here

我的代码如下: 使用name.csv,c n的insheet 保存name.dta,替换

结果如下: enter image description here

我尝试在fonts选项中调整脚本,但这不起作用。

1 个答案:

答案 0 :(得分:2)

正如@Nick Cox先前评论的那样,问题是Stata不支持Unicode / UTF-8编码。 不,StatTransfer无法解决问题(请参阅this explanation)。

您可以使用在线解码器或MS Word来完成这项工作。让我们首先用一种语言来做,比如说,你的截图中有俄语。查看克罗地亚语,土耳其语和其他语言的正确编码。

  1. 将.csv文件中的字符串变量保存为纯文本(.txt),选择UTF-8编码选项。
  2. 编码转换:
    • 使用iconv,由@Dimitriy V. Masterov或
    • 建议
    • 使用在线工具,例如this:上传.txt文件,选择源编码为UTF-8并根据感兴趣的语言输出编码(对于俄语,必须是CP1251),点击“转换” “按钮并保存输出文件,或
    • 如果您有MS Office,您也可以将MS Word用于同一目的。右键单击.txt文件,选择“打开方式...”,选择用MS Word打开。在出现的窗口中,确认文件编码为“Unicode(UTF-8)”,打开,然后单击“另存为...”,另存为纯文本。在新出现的窗口中,选择“西里尔文(Windows)”并标记“插入换行符”。保存。
  3. 查看你的新.txt文件 - 它仍然应该有一些奇怪的字符(比如ÌßÑÎÊÎÌÁÈÍÀÒ)但现在Stata可以正确显示它们。
  4. 在Stata Data Editor中复制粘贴新的字符串变量,右键单击变量,选择“Font ...”,然后将字符串“Cyrillic”。您应该在数据编辑器和结果窗口中看到正确的名称(即使字符串本身完好无损) example of the CP1251 encoding in Stata
  5. 根据您的操作系统,您可能需要先安装所有相应的语言 希望它有所帮助。