Я не уверен, какую именно библиотеку вы используете для манипулирования тем, что выглядит как листы рабочей книги, однако вам не нужно каждый раз устанавливать в вашем внутреннем sht1
значение для l oop. Ваш код может быть записан как:
sht1 = wb.sheets['Pallet Configurations']
letters = ['A','B','C','D']
for i in range(66):
for j in range(len(letters)):
val = (sht1.range(letters[j] + str(i+2)).options(numbers=str).value)
valueList[j].append(val)
Это должно сэкономить вам необходимость каждый раз звонить .sheets
на wb
. Кроме того, похоже, что любая библиотека, которую вы используете, может одновременно считывать несколько ячеек. Вероятно, было бы дешевле прочитать всю строку один раз, прежде чем ввести свой внутренний l oop. Затем вы можете воспользоваться Python List.extend()
методом, чтобы добавить весь список ячеек к valueList
.
Пример кода может выглядеть следующим образом:
sht1 = wb.sheets['Pallet Configurations']
letters = ['A','B','C','D']
for i in range(66):
for j in range(len(letters)):
letter = str(letters[j])
vals = (sht1.range("{0}{1}{0}{2}".format(letter, "2:", "66").options(numbers=str).value)
valueList[j].extend(val)
Это все еще не идеально, и, возможно, есть другие способы ускорить ваши циклы. Вам нужно подумать о минимизации того, что делается в вашем l oop.