openpyxl python - escrever csv para excel fornece 'número formatado como texto'

Eu escrevi um código para importar um arquivo .csv (contendo números) para um arquivo do Excel através do openpyxl. Funciona, no entanto, todas as células escreveram os números no arquivo do Excel como texto. Em seguida, preciso corrigir manualmente o erro no Excel: "Números formatados como texto (exibindo pequenos triângulos verdes no canto da célula).

Tem algum jeito de prevenir que isso aconteça? Isso ocorre com qualquer arquivo csv, mesmo que eu o faça apenas com números. obrigado

#!python2
# Add csv file to an xlsx

import os, csv, sys, openpyxl
from openpyxl import load_workbook
from openpyxl import Workbook
from openpyxl.cell import get_column_letter


#Open an xlsx for reading
wb = load_workbook('Test.xlsx')
ws = wb.get_sheet_by_name("RUN")

dest_filename = "Test_NEW.xlsx"
csv_filename = "csvfile.csv"

#Copy in csv
f = open(csv_filename)
reader = csv.reader(f)
for row_index, row in enumerate(reader):
    for column_index, cell in enumerate(row):
        column_letter = get_column_letter((column_index + 1))
        ws.cell('%s%s'%(column_letter, (row_index + 1))).value = cell


wb.save(filename = dest_filename)

print "new Cashflow created"

*****ATUALIZAR***

Obrigado, isso ajuda. Meu problema era que meu arquivo csv tinha uma mistura de texto e números sem aspas definidas. Então, eu implementei o abaixo para alterá-lo de uma string para flutuar, desde que não haja um erro.

#Copy in csv
f = open(csv_filename,'rb')
reader = csv.reader(f)
for row_index, row in enumerate(reader):
for column_index, cell in enumerate(row):
    column_letter = get_column_letter((column_index + 1))
    s = cell
    try:
        s=float(s)
    except ValueError:
        pass

    ws.cell('%s%s'%(column_letter, (row_index + 1))).value = s

questionAnswers(2)

yourAnswerToTheQuestion