Chinaunix

标题: 求格式化文本的代码 [打印本页]

作者: toeight    时间: 2011-10-07 16:54
标题: 求格式化文本的代码
  1. <OPTION
  2.         value=119999>北京市</OPTION><OPTION value=110101>北京市东城区</OPTION><OPTION
  3.         value=119192>北京市西城区</OPTION><OPTION value=110103>北京市崇文区</OPTION><OPTION
  4.         value=119194>北京市宣武区</OPTION><OPTION value=110105>北京市朝阳区</OPTION><OPTION
  5.         value=119196>北京市丰台区</OPTION><OPTION value=110107>北京市石景山区</OPTION><OPTION
  6.         value=119198>北京市海淀区</OPTION><OPTION value=110109>北京市门头沟区</OPTION><OPTION
  7.         value=119111>北京市房山区</OPTION><OPTION value=110112>北京市通州区</OPTION><OPTION
  8.         value=119113>北京市顺义区</OPTION><OPTION value=110114>北京市昌平区</OPTION><OPTION
  9.         value=119115>北京市大兴区</OPTION><OPTION value=110116>北京市怀柔区</OPTION><OPTION
  10.         value=119117>北京市平谷区</OPTION><OPTION value=110228>北京市密云县</OPTION><OPTION
  11.         value=119229>北京市延庆县</OPTION>
复制代码
需要把上面html里选择标签的代码,格式化成python用到字典数组(有几百条),字典格式如下
  1. {'北京市':'119999','北京市宣武区':'119194'}
复制代码
不知道能发在这里求吗?先谢了
作者: zooyo    时间: 2011-10-07 17:06
提示: 作者被禁止或删除 内容自动屏蔽
作者: toeight    时间: 2011-10-07 17:14
把option标签<OPTION >  </OPTION >之间的文本,比如北京市作为key,value=11999的数字作为value,{'key1':'value1','key2':'value2'},比如 {'北京市':'119999'}

另外,文本换行没有规律,最好能组成这样
  1. {'key1':'value1',\
  2. 'key2':'value2'}
复制代码

作者: Shell_HAT    时间: 2011-10-07 18:09
  1. awk 'ORS=" "' urfile | awk '{n=split($0,a,"=");for(i=2;i<=n;i++)print a[i]}' | awk -F "[<>]+" "NR==1{printf \"{'%s':'%s'\",\$2,\$1}{printf \",'%s':'%s'\",\$2,\$1}END{printf \"}\"}"
复制代码

作者: toeight    时间: 2011-10-07 18:55
多谢版主了
作者: baoyu05    时间: 2011-10-07 23:04
  1. awk -v RS="" -v FS='[=><]' 'BEGIN{printf "{"}{for(i=3;i<=NF;i+=5){if(j==1)printf ",";printf "\x027" $(i+1) "\x027:\x027" $i "\x27";j=1}}END{print "}"}'
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2