乱码问题解决之“锟斤拷”

乱码问题解决之“锟斤拷”

这个乱码是什么?我们先来看一下它的庐山真面目。

local stkcdlab: variable label stkcdlabel var stkcd `=ustrfrom( "`stkcdlab'", "gb18030", 1) '

结果如图:

我们可以看到,与爬虫俱乐部之前的推文《Unicode失效时如何转码dta文件?》中介绍过的转码方法不同,变量标签在转码后仍然存在特殊的乱码,也就是我们前文提到的“锟斤拷”。

接下来,我们从乱码标签和字符串“Stkcd”的区别入手观察二者有何差异。

clear

importdelimited using 资产负债表.csv, encoding( "utf-8")local stkcdlab: variable label stkcddisp tobytes( "`stkcdlab'", 1)disp tobytes( "Stkcd", 1)

结果如图:

乱码标签比字符串“Stkcd”多了xefxbfxbdxefxbfxbd。

我们选择用两种方法来解决这个乱码问题。

数据处理、实证研究中提供帮助。承蒙30000+粉丝的支持与厚爱,我们在腾讯课堂推出了网络视频课程,专注于数据整理、网络爬虫、循环命令编制和结果输出…李老师及团队精彩的讲解,深入浅出,注重案例与实战,让您更加快速高效地掌握Stata技巧及数据处理的精髓,而且可以重复观看,百分百好评,简单易学,一个月让您从入门到精通,绝对物超所值!

爬虫俱乐部最近一次的网课为大家系统整理了各种stata读入文件乱码问题的解决方法,请大家关注爬虫俱乐部腾讯课堂的课程《精通stata之数据整理》。基本上,我们会按照一周一次课的频率持续更新学习内容,欢迎大家前去学习!课程网址:

https://ke.qq.com/course/286526?tuin=1b60b462,敬请关注!

方法一

该方法是把乱码部分替换为空,这样,乱码标签就能够变为"Stkcd"了。根据前面的介绍,我们可以用ufffd表示乱码内容,而正则表达式可以使用这一类unicode转义字符,因此我们用正则表达式替换函数把乱码删除,程序如下:

clear

importdelimited using 资产负债表.csv, encoding( "utf-8")local stkcdlab: variable label stkcdlabel var stkcd `=ustrregexra( "`stkcdlab'", "ufffd", "") '

结果如下图所示,乱码问题得到了解决。

方法二

“锟斤拷”出现的原因是不同编码之间转换过程出现了问题,我们在读入的时候,没有选择正确的编码。如何选择正确的编码读入文件呢?首先,将文件“资产负债表”用记事本打开,点击文件,选择另存为。

可以看到下面的编码显示的是Unicode编码,所以直接在encoding()选项后面选择Unicode来读入。然后乱码问题即得到解决。

clear

importdelimited using 资产负债表.csv, encoding( "unicode")

关于我们

微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。

1)必须原创,禁止抄袭;

注意事项:返回搜狐,查看更多

相关推荐

刘平名字打分、刘平姓名免费测试、生辰八字、五格分析、名字寓意
微信小程序功能测试:7个步骤让你的小程序运行更流畅
365bet亚洲真人网址

微信小程序功能测试:7个步骤让你的小程序运行更流畅

🗓️ 06-30 👁️ 2533
424个地的成语
365bet亚洲真人网址

424个地的成语

🗓️ 07-20 👁️ 6147
Eclipse各版本代号一览表以及官网上有很多版本的eclipse,下载哪个版本比较合适呢?(转)
擦玻璃高层怎么擦?高层擦玻璃的小技巧?
365玩球安全吗

擦玻璃高层怎么擦?高层擦玻璃的小技巧?

🗓️ 07-03 👁️ 586
中国有多少人玩手机
365体育app手机版下载

中国有多少人玩手机

🗓️ 07-30 👁️ 9536
升和斤的换算(升和斤的换算公式是多久学的)
365体育app手机版下载

升和斤的换算(升和斤的换算公式是多久学的)

🗓️ 07-01 👁️ 8498
《lol》复活甲叫什么名字 复活甲介绍
365玩球安全吗

《lol》复活甲叫什么名字 复活甲介绍

🗓️ 07-22 👁️ 3248
“世界杯”有什么看头,媳妇,拿我的卡去买买买!
365玩球安全吗

“世界杯”有什么看头,媳妇,拿我的卡去买买买!

🗓️ 07-02 👁️ 2892
win10无法选择打开方式的解决方法 win10打开方式不能选择怎么办
LOL s4是哪一年
365bet亚洲真人网址

LOL s4是哪一年

🗓️ 07-01 👁️ 7528
如何在 Windows 11/10 上查看 Wi
365体育app手机版下载

如何在 Windows 11/10 上查看 Wi

🗓️ 07-12 👁️ 7024