我正在尝试使用insheet从.csv文件加载数据集。但是,数据集中的分隔符是","(包括引号),而不是简单的逗号,。 .csv文件中的前三行应如下所示:

Name","Sex","Income
John","M","45000
Jane","F","20000


看来insheet不允许使用多字符定界符-我收到一条错误消息,指出“ delimiter()选项未正确指定”。无论如何,从这样的文件中可以轻松获取Insheet数据吗?

最佳答案

解决方案1。

Stata 13支持多字符定界符。命令是import delimited。请参见手册here

解决方案2。

使用filefilter之前,请先使用insheet。例如:

filefilter "source-file" "destination-file", from("\Q,\Q") to(",") replace


这将用逗号定界符替换您的多字符定界符。运行help filefilter

解决方案3。

在导入到Stata之前,您是否无法使用自己喜欢的文本编辑器执行find/replace?例如,找到","并替换为,。然后使用Stata的insheet命令。在这方面,一个好的文本编辑器可能比纯Stata更灵活。

解决方案4(也许)。

您是否已检查infixinfile?我没有这些经验,但也许值得一试。

关于csv - Stata中的insheet和多字符定界符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19920426/

10-12 18:21