Пожалуйста, извините, я действительно новичок в этом. Я получил папку .csv файлов, которые я пытаюсь отформатировать для анализа. Смысл состоит в том, чтобы удалить несколько строк, а затем отформатировать один столбец, используя текстовую формулу и скопировав значения этой формулы в новый или такой же столбец, чтобы его можно было прочитать с другим приложением в виде текста. Логика продолжается по следующей схеме. Сначала я конвертирую файлы в .xlsx в цикле, используя glob. Далее я определяю рабочие листы, используя openpyxl внутри этого цикла:
wb2 = openpyxl.Workbook()
ws2 = wb2.active
sheet2 = wb2.worksheets[0]
После этого я использую следующий цикл внутри другого цикла, чтобы скопировать и вставить формулу Excel в новый столбец:
i = "=TEXT(D2:D20,432)"
for row, celo in enumerate(list(sheet2.columns)[4]):
celo.value = i
Все работает нормально, пока я не доберусь до части win32com:
exc = Dispatch("Excel.Application")
exc.Visible = 1
source = exc.Workbooks.Open()
exc.Range("E1:E20").Select()
exc.Selection.Copy()
exc.Selection.PasteSpecial(Paste=constants.xlPasteValues
Код прекрасно работает для одного файла Excel, для которого определен путь, но я не знаю, как использовать source = exc.Workbooks.Open()
, чтобы открыть папку, полную файлов csv / xlsx, и вставить специальные значения в каждый файл Excel в этой папке. Я пытался использовать wb2, ws2, sheet2 в скобках, но ничего. У меня очень ограниченное знание VBA (началось сегодня). Я пытаюсь сделать все это в Python.