【发布时间】:2013-04-10 05:42:55
【问题描述】:
您好,我下面的所有代码都允许我从数据中提取一些特定信息,我希望有人可以帮助我使用一段时间来更正确地编写此代码,因此我可以为多行执行此操作,现在我只有两行(数据)我是初学者,所以如果有人可以帮助请解释一下,这样我就可以学习,而不仅仅是复制和粘贴=)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import re
tableau = []
data = "00:02:12.935 mta Messages I Doc O:NVS:FAXG3/ R:NVS:SMTP.0/xxxx@x.fr mid:6499"
result1 = {}
i = re.findall(r"^.[^\ ]*", data )
j = re.findall(r"\d+$", data )
k = re.findall(r"O:[^\ ]*", data )
r = re.findall(r"R:[^\ ]*", data )
result1 = {'Heure':i,'MID':j,'Source':k,'Destination':r}
data = "00:03:12.935 mta Messages I Doc O:NVS:FAXG3/ R:NVS:SMTP.0/xxxxx@xxxxx.fr mid:6599"
result2 = {}
i = re.findall(r"^.[^\ ]*", data )
j = re.findall(r"\d+$", data )
k = re.findall(r"O:[^\ ]*", data )
r = re.findall(r"R:[^\ ]*", data )
result2 = {'Heure':i,'MID':j,'Source':k,'Destination':r}
tableau.append(result1)
tableau.append(result2)
print tableau
【问题讨论】:
-
while是 Python 关键字,没有“While()”函数。 (此外,您可能需要在此处使用for循环,因为您正在迭代一组特定的数据。) -
我不认为'while'是你想要的。据我了解,通常您会将“数据”作为字符串列表。在这种情况下,您将使用“for..in..”循环
-
澄清你的问题 - 不清楚你想循环什么。
-
一些小技巧:把你的数据整理成一个列表;使用 for 循环遍历列表;提取结果并将其附加到每次迭代的表格中。不需要改变太多,所以我相信你能解决它。如果您遇到问题,有很多在线教程。
-
FWIW,
result1 = {}和result2 = {}是不必要的。
标签: python regex python-2.7 python-2.x