将txt文件转换为xls文件

我需要一些在xls中指定值的格式的帮助。 我将一个txt文件转换为xls。

以下是我目前的代码。 当我读取txt文件时,我需要将值作为Int / Float或str。 诠释是好的,以及str,但我不能解决浮动问题。

例如, 366351.77-6000.00 ,仍被插入到表单中。

我不知道如果问题是当我正在阅读的txt文件的内容,或者如果是当我试图将txt的string内容转换为浮动格式。

 import sys import openpyxl delimitador, caminho, destino = sys.argv[1], sys.argv[2], sys.argv[3] xls = openpyxl.Workbook() sheet = xls.active sheet.column_dimensions['A'] txt = open(caminho) def is_float(s): result = False if s.count(".") == 1: if s.replace(".", "").isdigit(): result = True return result i = 1 for linha in txt: coluna = linha.split(delimitador) ii = 1 for celula in coluna: cell = sheet.cell(row=i, column=ii) if is_float(celula): #cell.value = float(celula.decode('latin-1').encode('utf-8')) cell.value = 'float' elif celula.isdigit(): cell.value = int(celula.decode('latin-1').encode('utf-8')) else: cell.value = celula.decode('latin-1').encode('utf-8') ii += 1 i += 1 xls.save(destino) txt.close() 

使用cell对象的set_explicit_value方法。

 cell.set_explicit_value(value=your_float, data_type='f') 

文档: https : //openpyxl.readthedocs.io/en/default/api/openpyxl.cell.cell.html#openpyxl.cell.cell.Cell.set_explicit_value

首先尼古罗斯,你的帮助解决了我的问题。

这里是我的最终代码,现在作为数字(值,帐户,索引..)的值被正确添加为工作表中的一个数字,其他值(date,说明…)被添加为string

FinalCode