免费注册 查看新帖 |

Chinaunix

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

求高手赐教在python中用正则表达式在文件中过滤出字段的方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-06-23 16:12 |只看该作者 |倒序浏览
小弟想用python写一个脚本,读取某目录下的文件,文件格式如下。文件有几个字段重复出现,值不同,用-+\n\n分割。
字段1 = 值1
字段2 = 值2
字段3 = 值3
字段4 = 值4
----------------

字段1 = 值5
字段2 = 值6
字段3 = 值7
字段4 = 值8
----------------

字段1 = 值9
字段2 = 值10
字段3 = 值11
字段4 = 值12
----------------
.
.
.
我需要把字段2,字段4的值取出来存入一个新文件,格式如下:
值2,值4
值6,值8
值10,值12
请高手赐教方法!谢谢!

论坛徽章:
0
2 [报告]
发表于 2011-06-23 17:48 |只看该作者
# -*- coding:GBK -*-
for i in open('c:\\1.txt').readlines():
    if not i.split():
        continue
    elif i.startswith('-') :
        continue
    else:
      
        if (i.split('=')[0]).split()[0] ==u'字段2' or(i.split('=')[0]).split()[0] ==u'字段4' :
            print i.split('=')[1],

QQ截图未命名.jpg (4.82 KB, 下载次数: 18)

QQ截图未命名.jpg

论坛徽章:
0
3 [报告]
发表于 2011-06-24 07:05 |只看该作者

  1. # -*- coding: utf-8 -*-
  2. def abc(f_in_name='test_in.txt', f_out_name='test_out.txt'):
  3.         aa = {'字段2': None, '字段4': None}
  4.         k_name = ['字段2', '字段4']
  5.         f_out = open(f_out_name, 'w')
  6.         for row in open(f_in_name):
  7.                 if row[0] == '-':
  8.                         print >> f_out, '%s, %s' % (aa['字段2'], aa['字段4'])
  9.                         aa['字段2'] = aa['字段4'] = None
  10.                         continue
  11.                 bb = row.split('=')
  12.                 if not bb:
  13.                         continue
  14.                 k, v = bb[0].encode(), bb[1]
  15.                 if k in k_name:
  16.                         aa[k] = v
  17.         f_out.close()
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP