python - 动态访问文本文件中的特定标签并获取其下的元素并再次从下一个单词开始并使用python获取其下的元素
问题描述
我有使用它的文本文件,我必须访问它下面的特定标签和元素,我也对其他标签进行了类似的操作。
Test[v]:
A:
work:35,40
test:89,87
B:
test:89,20
c:
work:56,98
Wor[K]
H:
test:32,34
work:43,46
J:
test:65,98
work:56,90
Apple[u]
M:
test:12,14
work:13,18
q:
test:1,24
work:10,68
这种文本文件格式我可以访问特定的标题和副标题,还可以逐个访问元素。
mylist = ['Test[v]:','Wor[K]','Apple[u]']
test= []
for sub_lst in myList:
results=[]
for i in sub_lst:
if i.__contains__(','):
results.append(int(i.replace(",","")))
test.append(results)
print(test)
我试图访问第一个并打印它下面的元素并开始到下一个标题。但在这里我不知道如何结束直到下一个标题并开始从它访问。
这是下面提到的预期输出
[[Test[v]:[A:[3540,8987],B:[8920],c:[5698]],
[Wor[K]:[H:[3234,4346],J:[6598,5690]],
[Apple[u]:[M:[1214,1318],q:[124,1068]]]
解决方案
您认为以下代码对您有用吗?
with open("test.txt", "r") as f:
readlines = []
for i in f.readlines():
if "[" in i:
sub_list = []
sub_list.append(i.replace("\n", ""))
readlines.append(sub_list)
else:
globals()["sub_list"].append(i.replace("\n", ""))
readlines.append(sub_list)
new_list = []
for i in readlines:
if i not in new_list:
new_list.append(i)
print(new_list)
输出:
[['Test[v]:', 'A:', 'work:35,40', 'test:89,87', '', 'B:', 'test:89,20', '', 'c:', 'work:56,98', ''], ['Wor[K]:', 'H:', 'test:32,34', 'work:43,46', '', 'J:', 'test:65,98', 'work:56,90', ''], ['Apple[u]:', 'M:', 'test:12,14', 'work:13,18', '', 'q:', 'test:1,24', 'work:10,68']]
推荐阅读
- batch-file - 在多个文件夹中查找同名文件,可以是任何文件
- swift - 如何在 Swift 中捕获 NSKeyedUnarchiver“NSInvalidUnarchiveOperationException”?
- algorithm - 具有几何概率分布的顺序搜索的平均案例分析
- python - 在不同版本的 keras 下使用“pridect_classes”进行不同的预测
- html - 调整浏览器窗口大小时文本重叠导航栏
- javascript - ES6 返回具有来自两个数组的值的对象
- autohotkey - ControlSend 在向记事本发送文本时禁止换行
- javascript - 将网站上的用户重定向到我的 iOS 应用程序
- c# - ASP 核心并发请求在 CORS 预检时阻塞
- python - Python - 为什么我的请求不使用提供的代理并显示我的公共 IP