I would like to make a lists of list with excel values. I have multiple excel sheets where there is always 1 same data,and i want to put the datas into lists. Here is an example:
In the Sheet1 these are the datas:
And at the Sheet2 these are the datas:
In my code i find the 1Data and after make a list to put the {}Data into that list, and i want to make a big list where the datas are sorted by the sheets
Example:
[[‘1Data’,’3Data’,’5Data1],[‘1Data’,’2Data’,’3Data’]
Unfortunately i got this output:
[[‘1Data’, ‘2Data’, ‘3Data’, ‘1Data’, ‘3Data’, ‘5Data’], [‘1Data’, ‘2Data’, ‘3Data’, ‘1Data’, ‘3Data’, ‘5Data’]]
Here is my code:
from openpyxl import load_workbook wb = load_workbook('test01.xlsx',data_only=True) small_lst = [] big_lst = [] for sheets in wb.sheetnames: ws = wb[sheets] for i in ws.rows: for asd in i: for qwe in range(10): if asd.value == '{}Data'.format(qwe): small_lst.append(asd.value) big_lst.append(small_lst) print(big_lst)
Advertisement
Answer
You aren’t resetting small_lst
every time you are changing sheets. So you are just adding new sheet Data to the previous one.
Try moving the small_lst = []
inside the for sheets
.