Python使用re模块来解析导入的文本文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python使用re模块来解析导入的文本文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1526字,纯文字阅读大概需要3分钟。
内容图文
![Python使用re模块来解析导入的文本文件](/upload/InfoBanner/zyjiaocheng/756/9ec32b00e66b437e9bdfeb210b7ef4e9.jpg)
def regexread():
import re
result = ''
savefileagain = open('sliceeverfile3.txt','w')
#text=open('emeverslicefile4.txt','r')
text='09,11,14,34,44,10,11, 27886637, 0\n561, Tue, 5,Feb,2013, 06,25,31,40,45,06,07, 19070109, 0\n560, Fri, 1,Feb,2013, 05,21,34,37,38,01,06, 13063500, 0\n559, Tue,29,Jan,2013,'
pattern='\d\d,\d\d,\d\d,\d\d,\d\d,\d\d,\d\d'
#with open('emeverslicefile4.txt') as text:
f = re.findall(pattern,text)
for item in f:
print(item)
savefileagain.write(item)
#savefileagain.close()
上面写的函数解析文本并返回七个数字的集合.我有三个问题.
>首先,包含与text = ’09,…等完全相同的文本的’read’文件返回一个TypeError期望的字符串或缓冲区,即使阅读了一些帖子也无法解决.
>其次,当我尝试将结果写入’write’文件时,不返回任何内容
>第三,我不知道如何获得与print语句相同的输出,这是三行七个数字,这是我想要的输出.
这是我第一次使用正则表达式,所以请温柔!
解决方法:
这应该做的伎俩,检查评论以解释我在这里做什么=)
祝好运
import re
filename = 'sliceeverfile3.txt'
pattern = '\d\d,\d\d,\d\d,\d\d,\d\d,\d\d,\d\d'
new_file = []
# Make sure file gets closed after being iterated
with open(filename, 'r') as f:
# Read the file contents and generate a list with each line
lines = f.readlines()
# Iterate each line
for line in lines:
# Regex applied to each line
match = re.search(pattern, line)
if match:
# Make sure to add \n to display correctly when we write it back
new_line = match.group() + '\n'
print new_line
new_file.append(new_line)
with open(filename, 'w') as f:
# go to start of file
f.seek(0)
# actually write the lines
f.writelines(new_file)
内容总结
以上是互联网集市为您收集整理的Python使用re模块来解析导入的文本文件全部内容,希望文章能够帮你解决Python使用re模块来解析导入的文本文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。