将CSV转换为Xlsx时以文本形式存储的数字

时间:2019-02-06 10:02:56

标签: python-2.7

我写了一个代码将CSV文件转换/复制为Xlsx文件。它成功复制了数据,但所有数据都存储为文本。 现在,它在每个数据上都显示一个感叹号,并且当它显示“数字存储为文本”时。 任何人都可以帮助我如何获取大量数据,因为我想对数据进行处理。 这是代码:

wb = Workbook()
ws = wb.active
with open(plotDir + '\\' + file, 'r') as f:
     for row in csv.reader(f):
         ws.append(row)
     wb.save(plotDir + '\\' + file[:-4] + '.xlsx')

1 个答案:

答案 0 :(得分:0)

您可以使用set_value_explicit:

 with open(plotDir + '\\' + plotFile, 'r') as f:
   for x, row in enumerate( csv.reader(f), start=1):
      for y, val in enumerate(row, start=1):
          ws.cell(row=x,column=y).set_explicit_value(value=val,data_type='n') # Cell.TYPE_NUMERIC
   wb.save(plotDir + '\\' + plotFile[:-4] + '.xlsx')