Запустить Python через bat

Задача: по графику запускать ежедневно программу на python.

1. Создаем bat-файл. Лучше всего в Notepad++, т.к. бывают проблемы с кодировкой, особенно если путь содержит кириллические символы.

«C:\Users\admin\PycharmProjects\csv_xls\venv\Scripts\python.exe» main.py — если закинуть bat в папку с программой на python

«C:\Users\admin\PycharmProjects\csv_xls\venv\Scripts\python.exe» «C:\Users\admin\PycharmProjects\csv_xls\main.py» — если положить bat в любую другую папку

Проблема была в том, что программа не работала через bat-файл, хотя через PyCharm работала без проблем. Выяснилось, что в bat-файле надо было ссылаться на Python, который лежит в папке проекта — «C:\Users\admin\PycharmProjects\csv_xls\venv\Scripts\python.exe» . Видимо там есть библиотеки, используемые в проекте, а в основном Python’е, который установлен на компьютер, этих библиотек нет.

2. Создаем в Планировщике Windows задачу.

Проблема при этом была в том, что задача через планировщик не работала, выдавала ошибку (0х2). Решилось тем, что убрал bat файл в другое место, а именно в корень диска C.

Как преобразовать csv в xls

import csv
from openpyxl import Workbook


def convert_csv_to_xlsx():
    wb = Workbook()
    sheet = wb.active

    CSV_SEPARATOR = ";"

    with open('G:/Мой диск/Рассвет/DC/PN_COUNT.CSV') as f:
        reader = csv.reader(f)
        for r, row in enumerate(reader):
            for c, col in enumerate(row):
                for idx, val in enumerate(col.split(CSV_SEPARATOR)):
                    cell = sheet.cell(row=r + 1, column=idx + 1)
                    cell.value = val.strip()
                    try:
                        cell.value = int(cell.value)
                    except ValueError:
                        pass

    wb.save('G:/Мой диск/Рассвет/DC/PN_COUNT.xlsx')


convert_csv_to_xlsx()

Код на Python. Умеет различать разделитель. Раскидывает данные по ячейкам, а не просто меняет расширение файла как некоторые примеры в интернете.

По ходу разработки выяснилось, что нужно удалить лишние пробелы, чтобы потом преобразовать строку в число.

Единственная проблема, которую не смог решить, это некорректное преобразование csv в xls, если в csv есть значения с запятой. Видимо проблема в используемой библиотеке openpyxl.