改进上一脚本,增加功能:输出数据到txt时,先输出各自话题的话题名
时间: 2024-12-23 22:24:31 浏览: 3
要在改进的脚本中,先将各个话题的主题名输出到文本文件,然后再输出它们的数据,你可以这样做:
1. 首先,在开始处理数据前,创建一个空列表`topics_list`,用于存储话题名。然后在每次处理新的主题时,检查该主题是否已经在列表中,如果不在就添加到列表并写入到文件头部。
```python
topics_list = []
with open('output.txt', 'a') as output_file:
output_file.write("Topic\tTimestamp\n") # 写入表头
for topic_name in first_message_timestamps.keys():
topics_list.append(topic_name)
output_file.write(f"{topic_name}\t") # 写入话题名
```
2. 修改数据输出部分,先写入时间戳,再写入具体内容,同时确保已将话题名添加到了文件。
```python
for topic, timestamp in first_message_timestamps.items():
output_file.write(str(timestamp))
# 现在输出其他数据,这里假设data是包含你需要记录的具体内容的部分
output_data = process_data_for_topic(topic, data) # 进一步处理数据
output_file.write(output_data + "\n")
```
3. 最后处理完所有数据后,再次检查`topics_list`是否为空,如果不为空说明还有未写入的主题,循环遍历并写入剩余的主题名及时间戳。
```python
if topics_list:
for topic in topics_list:
output_file.write(f"{topic}\t{first_message_timestamps[topic]}\n")
```
这样,每当有新话题的第一次消息到达时,它的主题名就会被添加到输出文件的开头,然后才是对应的时间戳和其他数据。
阅读全文