Эти строки "интересны":
del data_list[0:17]
del data_list[1:27] # [*:*]
Вы удаляете столько первых из 17 строк вашего входного файла, сколько существует, сохраняя 18-е (если оно существует)удалив еще 26 (если они существуют) и сохранив все следующие строки.Это очень необычная процедура, и она вообще не упоминается в вашем описании того, что вы пытаетесь сделать.
Во-вторых, вы записываете выходные строки (если они есть) из каждого в один и тот же выходной файл.В конце сценария выходной файл будет содержать данные только из последнего входного файла. Не изменяйте свой код для использования режима добавления ... открывать и закрывать один и тот же файл все время только для добавления записей очень расточительно и оправдано, только если у вас есть реальная необходимость убедиться, чтоданные сбрасываются на диск в случае сбоя питания или другого сбоя.Откройте выходной файл один раз, прежде чем начать чтение файлов, и закройте его один раз, когда вы закончите работу со всеми входными файлами.
В-третьих, любой старый произвольный текстовый файл не становится «файлом Excel» только потому, чтоВы назвали это "нечто .xls".Вы должны написать это с помощью модуля csv и назвать его "thing.csv ".Если вам нужен больший контроль над тем, как Excel будет его интерпретировать, напишите файл xls, используя xlwt.
В-четвертых, вы упоминаете «столбец» несколько раз, но так как вы не предоставили никаких подробностей о том, как должны вводиться ваши строки ввода.разделить на «столбцы», довольно сложно догадаться, что вы подразумеваете под «следующий доступный столбец».Можно даже подозревать, что вы путаете столбцы и строки ... при условии, что в каждом входном файле менее 43 строк, 18-й ряд последнего входного файла будет всем, что вы увидите в выходном файле.