其他
补全股票代码位数的一百种姿势
本文作者:宁刘莹
文字编辑:李婷婷
技术总编:张计宝
Stata云端培训课程在腾讯课堂上线啦!
爬虫俱乐部于2020年7月中旬在线上举行的Stata编程技术培训课程在腾讯课堂上线啦!课程通过案例教学模式,帮助学员在短期内掌握Stata的基本命令、编程、数据处理以及结果输出等技术,并对Stata16的实用新功能做了详细介绍。
现在关注公众号并在朋友圈转发推文,即可获得600元课程优惠券,集赞50个再领200元课程优惠!(截图发至本公众号后台领取)原价2400元的课程,现在只要1600元!导读
股票代码是上市公司股票的编码,通常以六位数的格式显示,但在实际研究过程中,我们时常会遇到数据中股票代码并不是六位数的情况,这时我们可以用Stata在数字前面补0直到补齐六位数为止。根据不同的情形,使用的方法也是不同的,本文将根据几种不同的需求介绍不同的方法。
(二) 数据库中下载的数据
format stkcd %06.0f
replace stkcd = string(stkcd, "%06.0f")
tostring stkcd,format(%06.0f) replace
(三) 在爬虫中的具体案例
clear all
cnstock all
erase cnstock.dta
sample 10, count
levelsof stkcd, local(stkcd)
foreach i in `stkcd' {
di `i'
}
clear all
cnstock all
erase cnstock.dta
sample 10, count
levelsof stkcd
disp `"`r(levels)'"'
foreach stk in `r(levels)' {
while length("`stk'")<6{
local stk 0`stk'
} //这个while循环的作用是:长度不足六位的数字,就在面前补0,直到补足六位为止
forvalue p=1/3 { //假定对于每家上市公司,我们只爬取前三页的公告
disp `p'
qui copy "http://vip.stock.finance.sina.com.cn/corp/view/vCB_AllBulletin.php?stockid=`stk'&Page=`p'" temp.txt, replace
qui infix strL v 1-20000 using temp.txt, clear //将爬取的公告读入stata内存中
save `stk'_`p', replace
}
}
高校经管类核心期刊发文排行榜|2010-2019
PDF文本信息提取(二)
关于我们
微信公众号“Stata and Python数据分析”分享实用的stata、python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。