Openpyxl在XLSX文件中以文本形式将CSV中的数字隐藏

时间:2019-10-31 17:17:12

标签: python python-3.x csv openpyxl

我有一系列CSV文件,例如this。我正在尝试使用以下代码将它们转换并合并为使用python和openpyxl的xlsx文件:

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)

代码可以运行,但是在大多数单元格中(奇怪的是,不是在所有单元格中),尽管使用了this中建议的命令 float ,但还是出现了“数字存储为文本”错误,并且类似的话题。 我在做什么错了?

0 个答案:

没有答案