Python将列表中的每个元素按'\n';并将列表从二维展开到三维

Python将列表中的每个元素按'\n';并将列表从二维展开到三维,python,excel,list,Python,Excel,List,我使用xlrd导入Excel工作表,并将其存储到二维列表(数据[行][col]),我希望将列表中的每个元素按“\n”拆分。现在我只需在for循环中将其存储到另一个变量中,但是否可以将列表从2d扩展到3d(data[row][col][line])?如果是,如何进行 sh = book.sheet_by_index(0) data = [[sh.cell_value(r, c) for c in range(sh.ncols)] for r in range(sh.nrows)] for row

我使用xlrd导入Excel工作表,并将其存储到二维列表(数据[行][col]),我希望将列表中的每个元素按“\n”拆分。现在我只需在for循环中将其存储到另一个变量中,但是否可以将列表从2d扩展到3d(data[row][col][line])?如果是,如何进行

sh = book.sheet_by_index(0)
data = [[sh.cell_value(r, c) for c in range(sh.ncols)] for r in range(sh.nrows)]
for row in range(sh.nrows):
     for col in range (sh.ncols):
          data_lines=data[row][col].split("\n")
          *do stuff with variable*

扩展列表会让我受益匪浅,因为我可以在任何时候专门调用我需要的行,而无需反复使用它

您可以在每个元素上调用
split

li = [['a b c', 'd e f'], ['g h i', 'j k l']]
for index, line in enumerate(li):
    for inner_index, col in enumerate(line):
        li[index][inner_index] = li[index][inner_index].split()
print(li)
# [[['a', 'b', 'c'], ['d', 'e', 'f']], [['g', 'h', 'i'], ['j', 'k', 'l']]]

是的,看起来很简单,
data[row][col]=data[row][col].split(“\n”)
就可以了!