免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4102 | 回复: 5
打印 上一主题 下一主题

新手关于编程工具python, sed, awk 的问题(请指点) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-18 09:34 |只看该作者 |倒序浏览
近日处理文件,发现一规则文本,手工处理太慢。便想写个脚本,却发现无从入手。

请看例子:(见附件)


一个北京捷安特维修店的文档。其中主要有:

1. 店名
2. 地址
3. 乘车路线
4. 电话

现在想实现:

1. 每个店的信息之间用一空行隔开
2. 把所有店按地址排序(即:北京市朝阳区,海淀区,东城区...)

一直在学习python. 觉得可以用python实现。 有人说用sed,awk. 由于我对这两个工具不熟,再者在windows下,这两个工具还要安装。


请问:

1. Python能实现sed,awk的功能吗?
2. 用python解决这个问题有办法吗?
3. 难道文本处理非得用sed, awk, perl 等工具吗?


谢谢大家!

[ 本帖最后由 nickleeh 于 2008-11-18 10:04 编辑 ]

giant.rar

1.88 KB, 下载次数: 44

论坛徽章:
0
2 [报告]
发表于 2008-11-18 10:32 |只看该作者
如果对sed awk不是很熟的把,就选个编程语言来解决把

py和perl都能很方便的处理文本,不过个人觉得perl在处理文本和正则匹配方便比py来的简洁明了。

论坛徽章:
0
3 [报告]
发表于 2008-11-18 11:37 |只看该作者
既然在学python那就用python实现吧 虽然可能perl在这方面更简洁点 但那个不是一两天就能上手的

论坛徽章:
0
4 [报告]
发表于 2008-11-18 18:59 |只看该作者
python虽然写起来不是太简洁,但是原理不难。

论坛徽章:
0
5 [报告]
发表于 2008-11-20 10:33 |只看该作者
大家都说用python实现,怎么没人说一下实现办法呀? 起码说个思路呀!

论坛徽章:
0
6 [报告]
发表于 2008-11-20 13:22 |只看该作者
呵呵 用Python的 字典 就可以实现:
1、过滤文本的每一行,将每一个店的信息建立字典中的一条记录。而且记录以店的地址为关键字,其他信息组成一个列表为值
2、全部读取到字典以后,用正则表达式匹配地址相似的记录,即匹配字典中关键字类似的放在一起。
3、全部处理完以后输出到文本,每一个店后边 追加一条空格即可。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP