通过python找55 00 00 02 A2 08 F4 00 46 14 63 2C 00 FD 22 AA 中55 00 00 0* ** **F4(该值在一个log文件中),其中我想输出* ** **,并打印出该值以及该值出现的时间和F4后面的值,输出到excel
时间: 2024-11-28 12:16:10 浏览: 1
Hybrid A * 算法Python源码
5星 · 资源好评率100%
在Python中,你可以使用正则表达式库`re`来查找并提取特定模式。首先,你需要读取log文件内容,然后使用`re.findall()`函数找到匹配的部分。假设你的log文件内容保存在一个字符串变量`log_content`里,你可以按照以下步骤操作:
```python
import re
import pandas as pd
# 读取log内容
with open('your_log_file.log', 'r') as f:
log_content = f.read()
# 正则表达式匹配模式
pattern = r"55 00 00 0[0-9]{2}[A-Fa-f]{2} 0[0-9]{2}(?:\.[0-9]+)? F4 0[0-9a-f]{2}"
matches = re.findall(pattern, log_content)
# 提取所需信息
data = []
for match in matches:
value = match[4:7] + match[9:12] + match[15]
time = match[:7]
next_value = match[18:]
data.append({
'Value': value,
'Time': time,
'Next Value': next_value
})
# 将数据转换为pandas DataFrame,并输出到Excel
df = pd.DataFrame(data)
df.to_excel('output.xlsx', index=False)
```
这里假设时间部分包括了小数点,如果不需要可以调整正则表达式以适应实际情况。运行以上脚本后,你会得到一个名为`output.xlsx`的Excel文件,包含了每个匹配项的数据。
阅读全文