捕获xml文件的选定部分

2024-05-23 21:05:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我的xml文件是这样的

<S_Row>
     <S_Cell><S_CellBody></S_CellBody></S_Cell>
     <S_Cell><S_CellBody></S_CellBody></S_Cell>
     <S_Cell><S_CellBody></S_CellBody></S_Cell>
</S_Row>

我在python中这样处理它:

for S_Cell in S_Row.findall('S_Cell'):
        for S_CellBody in S_Cell.getchildren():
              S_CellBody.text="ABC"

这将在xml文件中提供如下输出:

  <S_Row>
     <S_Cell><S_CellBody>ABC</S_CellBody></S_Cell>
     <S_Cell><S_CellBody>ABC</S_CellBody></S_Cell>
     <S_Cell><S_CellBody>ABC</S_CellBody></S_Cell>
   </S_Row>

如果我想在第一行、第二行或第三行插入ABC怎么办? 如何跟踪正在获取的行,因为S\u Cell.getchildren()将提供所有行

我想保留记录,通过它我可以在选定的行(第一行、第二行或第三行)中插入文本

有人能帮忙吗


Tags: 文件textin文本for记录cellxml
2条回答

例如:

for i, S_Cell in enumerate(S_Row.findall('S_Cell')):
    for S_CellBody in S_Cell.getchildren():
          S_CellBody.text = str(i)

也可以在循环中放入一些if语句

使用计数器变量:

i = 0
for S_CellBody in S_Cell.getchildren():
    i += 1
    if i == 2:
        S_CellBody.text = "ABC"

相关问题 更多 >