Python 无法访问我列表中的位置
我试图从一个txt文件中提取一些信息,但在分割一行之后,我只能访问列表的第一个位置。 有人知道为什么吗 我的txt文件如下所示:Python 无法访问我列表中的位置,python,list,Python,List,我试图从一个txt文件中提取一些信息,但在分割一行之后,我只能访问列表的第一个位置。 有人知道为什么吗 我的txt文件如下所示: <?xml version='1.0' encoding='UTF-8'?> <osm version="0.6" generator="osmconvert 0.8.4" timestamp="2017-03-06T01:59:59Z"> <bounds minlat="43.48" minlon="-79.7899999" m
<?xml version='1.0' encoding='UTF-8'?>
<osm version="0.6" generator="osmconvert 0.8.4" timestamp="2017-03-06T01:59:59Z">
<bounds minlat="43.48" minlon="-79.7899999" maxlat="43.92" maxlon="-78.9999997"/>
<node id="699540" lat="43.6751621" lon="-79.361332" version="1"/>
<node id="699569" lat="43.7247576" lon="-79.3302633" version="1"/>
<node id="1497736" lat="43.731285" lon="-79.3304523" version="1"/>
<node id="1497764" lat="43.7412456" lon="-79.332082" version="1"/>
<node id="1497766" lat="43.7418685" lon="-79.3321184" version="1"/>
<node id="1497768" lat="43.7450436" lon="-79.3327357" version="1"/>
<node id="1497773" lat="43.7459924" lon="-79.3329589" version="1"/>
<node id="1497776" lat="43.747316" lon="-79.3332228" version="1"/>
<node id="1497778" lat="43.7484115" lon="-79.3333255" version="1"/>
谢谢您的帮助。我很确定您得到的文件只有一行,并且您正在使用/n关闭循环,因此您只得到一次
按照别人告诉你的去做,并按照它应该的方式解析它 请修复缩进。可能是因为re.findall返回的列表只找到了一个匹配项,所以您的列表将只有一个元素。我不确定您期望的是什么…停止尝试使用正则表达式解析XML,而是使用DOM解析器。请参阅.@juanpa.arrivillaga我不理解编辑历史记录。看起来你已经在生活中加入了XML?我遗漏了什么?@roganjosh我必须用代码包装它,否则它会被解释为HTML来进行实际的格式化。
import re
contador = 0
pattern = re.compile("node")
with open('toronto1.txt') as text:
print("leu Arquivo")
with open('saida.txt', 'w') as saida:
print("criou arquivo")
for text_line in text:
comparacao = re.search(pattern, text_line)
if comparacao is not None:
node_line = text_line
split_id = re.findall(r"[\w']+", node_line)
saida.write(split_id[2]+'\n')
contador = contador + 1
print contador
saida.close()
text.close()
a = split_id[2]
print node_line
print split_id
print a