0

我的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_Cell.getchildren() 给了我所有的行。

我想跟踪记录,通过它我可以在我选择的行(第一行、第二行或第三行)中插入文本。

任何人都可以帮忙吗?

4

2 回答 2

1

例如:

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

您也可以将一些ifs 语句放入循环中。

于 2013-04-21T19:05:19.807 回答
0

使用计数器变量:

i = 0
for S_CellBody in S_Cell.getchildren():
    i += 1
    if i == 2:
        S_CellBody.text = "ABC"
于 2013-04-21T19:03:15.147 回答