Каким бы прекрасным инструментом ни были панды, в этом случае, возможно, нет смысла его включать.
Вот более короткая структура того, чего вы пытаетесь достичь:
import csv
import datetime
from openpyxl import load_workbook
def transfer_hours(report_name, ER_hours_analysis_wb):
wb = load_workbook(ER_hours_analysis_wb)
ws = wb['ER Work Log']
csvfile = open(report_name, 'rt')
reader = csv.reader(csvfile,delimiter=',')
#iterators
rownum = 0
colnum = 0
for row in reader:
for col in row:
dttm = datetime.datetime.strptime(col, "%m/%d/%Y")
ws.cell(column=colnum,row=rownum).value = dttm
wb.save('new_spreadsheet.xlsx')
Отсюда вы сможете определить, какие столбцы должны иметь какой формат в зависимости от позиции в CSV. Вот пример:
for row in reader:
ws.cell(column=0,row=rownum,value=row[0])
dttm = datetime.datetime.strptime(row[1], "%m/%d/%Y")
ws.cell(column=1,row=rownum).value = dttm
Для справки:
https://openpyxl.readthedocs.io/en/stable/usage.html
Как в Python построчно читать файл в список?
Как форматировать столбцы с заголовками, используя OpenPyXL