python 遍历txt文本的多条数据,其中数据类型是123: [a,b],[c,d],最终输出[('123', [('a','b'), ('c','d')])] ,
时间: 2024-01-21 13:02:42 浏览: 26
假设txt文本中每行只有一条数据,可以使用以下代码实现:
```
result = []
with open('data.txt', 'r') as f:
for line in f:
data = line.strip().split(':')
key = data[0]
values = data[1].split(',')
sub_result = []
for value in values:
sub_data = value.strip('[]').split(',')
sub_result.append((sub_data[0], sub_data[1]))
result.append((key, sub_result))
print(result)
```
其中,假设txt文本中的数据格式为:`123: [a,b],[c,d]`,则代码中的`data = line.strip().split(':')`将数据按照冒号分隔开,并获取到key和values。接着,使用`values = data[1].split(',')`将values按照逗号分隔开,得到一个包含多个子数据的列表。然后,使用一个循环遍历每个子数据,将其按照逗号和方括号分隔开,并将分隔后的数据存入一个元组中。最后,将key和子数据列表组成一个元组,并添加到结果列表中。最终输出的结果即为`[('123', [('a','b'), ('c','d')])]`。
相关推荐
![md](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)