楼主: sunhanhan1996
2557 10

[数据管理求助] 分离地址 [推广有奖]

  • 8关注
  • 1粉丝

已卖:41份资源

博士生

60%

还不是VIP/贵宾

-

威望
0
论坛币
379 个
通用积分
8.9967
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
4660 点
帖子
160
精华
0
在线时间
355 小时
注册时间
2019-10-13
最后登录
2025-9-18

楼主
sunhanhan1996 学生认证  发表于 2020-8-10 16:48:50 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input long stkcd str162 注册地址
  4. 633 "辽宁省沈阳市浑南新区世纪路55号"                                            
  5. 633 "辽宁省沈阳市浑南新区世纪路55号"                                            
  6. 633 "辽宁省沈阳市浑南新区世纪路55号"                                            
  7. 633 "辽宁省沈阳市浑南新区世纪路55号"                                            
  8. 633 "辽宁省沈阳市浑南新区世纪路55号"                                            
  9. 633 "辽宁省沈阳市浑南新区世纪路55号"                                            
  10. 633 "新疆维吾尔自治区和田市北京工业园区杭州大道2号电子产业园102室"
  11. 633 "新疆维吾尔自治区和田市北京工业园区杭州大道2号电子产业园102室"
  12. 633 "新疆维吾尔自治区和田市北京工业园区杭州大道2号电子产业园102室"
  13. 635 "宁夏回族自治区石嘴山市惠农区钢电路"                                    
  14. 635 "宁夏回族自治区石嘴山市惠农区钢电路"                                    
  15. 635 "宁夏回族自治区石嘴山市惠农区钢电路"                                    
  16. 635 "宁夏回族自治区石嘴山市惠农区钢电路"                                    
  17. 635 "宁夏回族自治区石嘴山市惠农区钢电路"                                    
  18. 635 "宁夏回族自治区石嘴山市惠农区钢电路"                                    
  19. 635 "宁夏回族自治区石嘴山市惠农区钢电路"                                    
  20. 635 "宁夏回族自治区石嘴山市惠农区钢电路"                                    
  21. 635 "宁夏回族自治区石嘴山市惠农区钢电路"                                    
  22. 635 "宁夏回族自治区石嘴山市惠农区钢电路"                                    
  23. 636 "广东省肇庆市风华路18号风华电子工业城"                                   
  24. 636 "广东省肇庆市风华路18号风华电子工业城"                                   
  25. end
复制代码

数据如上所示,想要分离地址,到市就行了,宁夏回族自治区或者北京上海这些直辖市和各省在同一个组就行。谢谢各位老师

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:generated generate install example Stall

沙发
黃河泉 在职认证  发表于 2020-8-10 17:45:05

藤椅
sunhanhan1996 学生认证  发表于 2020-8-10 17:59:23
黃河泉 发表于 2020-8-10 17:45
请参考 https://bbs.pinggu.org/thread-7912556-1-1.html。
黄老师您的地址格式是统一的,我这个不统一的唉

板凳
917968079 发表于 2020-8-10 18:28:44
sunhanhan1996 发表于 2020-8-10 17:59
黄老师您的地址格式是统一的,我这个不统一的唉
格式不统一的话可以用Python库,cpca
详见 https://github.com/DQinYuan/chinese_province_city_area_mapper

报纸
sunhanhan1996 学生认证  发表于 2020-8-10 19:25:25
917968079 发表于 2020-8-10 18:28
格式不统一的话可以用Python库,cpca
详见 https://github.com/DQinYuan/chinese_province_city_area_ma ...
谢谢老师,感觉这个也太难了叭....

地板
DΘstinyじò 发表于 2020-8-10 21:55:04
如果你的地址都是省、自治区、直辖市的地级市的市区数据,参考黄老师推荐的链接,可以试一下下面的代码:
  1. compress
  2. local i=1
  3. foreach l in 省 市 区{
  4.         gen p`i'=ustrpos(注册地址,"`l'")
  5.         local ++i
  6. }
  7. //省
  8. gen a = usubstr(注册地址, 1, p1)        if p1!=0
  9. gen b = usubstr(注册地址, p1+1, p2-p1)  if p1!=0
  10. gen c = usubstr(注册地址, p2+1, .)      if p1!=0
  11. //自治区
  12. replace a = usubstr(注册地址, 1, p3)        if p1==0 & p2>p3
  13. replace b = usubstr(注册地址, p3+1, p2-p3)  if p1==0 & p2>p3
  14. replace c = usubstr(注册地址, p2+1, .)      if p1==0 & p2>p3
  15. //直辖市
  16. replace a = usubstr(注册地址, 1, p2)        if p1==0 & p2<p3
  17. replace c = usubstr(注册地址, p2+1, .)      if p1==0 & p2<p3
复制代码

7
songking 发表于 2020-8-11 10:19:41
sunhanhan1996 发表于 2020-8-10 17:59
黄老师您的地址格式是统一的,我这个不统一的唉
从已有数据来看,下面的正则表达式完全可以做到

gen     ad =ustrregexs(1)  if ustrregexm(注册地址,"(.+\市)(.*)")
gen     pr =ustrregexs(1)  if ustrregexm(ad,"(.+\省)(.*)")
replace pr =ustrregexs(1)  if ustrregexm(ad,"(.+\自治区)(.*)")
gen     ci=subinstr(ad,pr,"",.)

8
蓝色 发表于 2020-8-11 14:58:26
sunhanhan1996 发表于 2020-8-10 17:59
黄老师您的地址格式是统一的,我这个不统一的唉
要学习方法
掌握基础,学会变通。
那个链接里面的例子完全可以套用。
  1. clear
  2. input long stkcd str90 location
  3. 633 "辽宁省沈阳市浑南新区世纪路55号"
  4. 633 "新疆维吾尔自治区和田市北京工业园区杭州大道2号电子产业园102室"
  5. 635 "宁夏回族自治区石嘴山市惠农区钢电路"                                    
  6. 636 "广东省肇庆市风华路18号风华电子工业城"
  7. end


  8. forvalues i=1/3{
  9. gen a`i'=""
  10. replace a`i' =ustrregexs(`i')  if ustrregexm(location,"(.+\省)(.+\市)(.*)")
  11. replace a`i' =ustrregexs(`i')  if ustrregexm(location,"(.+\自治区)(.+\市)(.*)")
  12. }
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
黃河泉 + 3 + 3 + 3 精彩帖子

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

9
sunhanhan1996 学生认证  发表于 2020-8-11 19:15:56
蓝色 发表于 2020-8-11 14:58
要学习方法
掌握基础,学会变通。
那个链接里面的例子完全可以套用。
谢谢老师!

10
sunhanhan1996 学生认证  发表于 2020-8-11 19:16:20
songking 发表于 2020-8-11 10:19
从已有数据来看,下面的正则表达式完全可以做到

gen     ad =ustrregexs(1)  if ustrregexm(注册地址, ...
谢谢老师!!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-26 05:08