{"checksum_0":"0xF9","checksum_1":"0x63","class":"0x90","id":"0x01","payload":{"raw_data":"<MessageFrame><rsmFrame><msgCnt>56</msgCnt><id>3030303030323837</id><refPos><lat>305使用python写代码读取文件中的每一行,从中截取<id>字段并存入数组,比较数组里面是否存在相同id,如果id相同只保留一个,并将id转换成ASCLL,转换完成后打印出来
时间: 2023-07-06 17:30:56 浏览: 86
MySQL复制出错 Last_SQL_Errno:1146的解决方法
可以使用 Python 的文件操作和正则表达式来实现该功能。以下是一个示例代码:
```python
import re
id_list = []
with open('file.txt', 'r') as f:
for line in f:
id_match = re.search(r'<id>(.*?)</id>', line)
if id_match:
id_str = id_match.group(1)
if id_str not in id_list:
id_list.append(id_str)
id_ascii = ''.join(str(ord(c)) for c in id_str)
print(id_ascii)
```
这个代码示例中,我们首先定义了一个空的数组 `id_list`,用于存储截取出来的 id。然后,使用 `with open` 语句打开文件并逐行读取文件内容。在每一行中,使用正则表达式 `re.search` 匹配 `<id>` 标签中的内容,并将其存储到变量 `id_str` 中。如果该 id 在 `id_list` 中不存在,则将其添加到数组中,并将其转换为 ASCII 码,并输出转换后的结果。
需要注意的是,该代码示例假设每行只有一个 `<id>` 标签,并且标签的内容不包含其他的 `<` 或 `>` 字符。如果实际情况比较复杂,需要根据具体情况修改正则表达式和转换方式。
阅读全文