python读取一个txt文本,前面是17890:后面跟着[a,b],[c,d],希望输入成数组[('id',[('a'.'b'),('c','d')])的形式
时间: 2023-10-23 14:26:34 浏览: 87
假设txt文本内容如下:
```
17890:[a,b],[c,d]
```
可以使用以下代码读取并转换为所需的数组形式:
```python
with open('text.txt', 'r') as f:
line = f.readline().strip() # 读取一行并去除首尾空格
# 解析id和数组值
id, values = line.split(':')
# 解析数组值并转换为列表
values_list = values.strip('[]').split(',')
# 构建最终数组
result = [(id, [(values_list[0], values_list[1]), (values_list[2], values_list[3])])]
print(result)
```
输出结果为:
```
[('17890', [('a', 'b'), ('c', 'd')])]
```
相关问题
python读取一个txt文本,前面是id:后面跟着[a,b],[c,d],希望输入成数组[('id',[('a'.'b'),('c','d')])的形式
可以使用正则表达式来匹配文本中的id和[a,b],[c,d],然后将其转换成需要的格式。
以下是一个示例代码:
```python
import re
# 读取文本文件
with open('data.txt', 'r') as f:
text = f.read()
# 使用正则表达式匹配id和[a,b],[c,d]
pattern = r'id:(\w+)\s+\[([\w\s,]+)\]\s+\[([\w\s,]+)\]'
matches = re.findall(pattern, text)
# 将匹配结果转换成需要的格式
result = []
for match in matches:
id = match[0]
a_b = match[1].split(',')
c_d = match[2].split(',')
result.append((id, [(a_b[i], a_b[i+1]) for i in range(0, len(a_b), 2)] + [(c_d[i], c_d[i+1]) for i in range(0, len(c_d), 2)]))
print(result)
```
假设文本文件data.txt中的内容如下:
```
id:123 [a,b] [c,d]
id:456 [e,f] [g,h]
```
运行上述代码后,输出结果为:
```
[('123', [('a', 'b'), ('c', 'd')]), ('456', [('e', 'f'), ('g', 'h')])]
```
即为所需的格式。
python读取文本特定字符作为间隔数据转成数组
你可以使用 Python 的 split() 方法来实现这个功能。
例如,假设你有一个字符串,它是以逗号分隔的数字:
```
string = '1,2,3,4,5'
```
你可以使用 split() 方法将它转换为数字列表:
```
numbers = string.split(',')
```
现在,numbers 变量是一个数字列表:
```
[1, 2, 3, 4, 5]
```
你也可以使用 split() 方法来指定多个分隔符,例如:
```
string = '1,2;3:4|5'
numbers = string.split(',|;|:')
```
现在,numbers 变量是一个数字列表:
```
[1, 2, 3, 4, 5]
```
注意,split() 方法返回的是字符串列表,你可能需要使用 map() 函数将它们转换为数字:
```
numbers = list(map(int, numbers))
```
现在,numbers 变量是一个数字列表:
```
[1, 2, 3, 4, 5]
```
希望这对你有帮助。
相关推荐
![](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)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)