Openpyxl охватывает числа в CSV как текст в файле XLSX - PullRequest
0 голосов
/ 31 октября 2019

У меня есть серия CSV-файлов, таких как this one. Я пытаюсь преобразовать и объединить их в файл xlsx с python и openpyxl с этим кодом:

import csv
import openpyxl
import glob

csvpath = 'C:/Users/Lorenzo/Downloads/CSV/'
csvfiles = glob.glob(csvpath + '*.csv')
data = input('Inserisci data Simulazione: ')
destinationfilepath = 'C:/Users/Lorenzo/Desktop/Simulazione_' + data + '.xlsx'

wb = openpyxl.Workbook()

for i in range(len(csvfiles)):
    filename = csvfiles[i]
    reader = csv.reader(open(filename), delimiter=',')
    csvname =  filename[len(csvpath):-4]
    ws1 = wb.create_sheet(csvname)
    k=0
    for row in reader:
        if k==0:
            ws1.append(row)
        else:
            g=0
            for cell in row:
                c= ws1.cell(row=k, column=g)
                c.value = float(cell)
                g=g+1
            k=k+1
    ws1['A1'] = 'Iteration'
    ws1['B1'] = 'CD'
    ws1['C1'] = 'CL'
    ws1['D1'] = 'CL_F'
    ws1['E1'] = 'CL_R'
    ws1['F1'] = 'CM'

sheet = wb['Sheet']
wb.remove(sheet)

wb.save(destinationfilepath)

Код выполняется, но в большинстве ячеек (и, как ни странно, не во всех ячейках), я получаю ошибку«Число сохраняется в виде текста», несмотря на использование команды float , как предложено в this и аналогичных темах. Что это я делаю не так?

...