Мне нужна помощь при указании формата значений в xls. Я преобразовываю txt-файл в xls.Преобразование файла txt в файл xls
Ниже мой текущий код. Когда я читаю txt-файл, мне нужно поместить значения как Int/Float или str. Int хорошо, а также str, но я не могу решить проблему с поплавками.
366351.77
или -6000.00
, например, все еще вставляются в виде str в листе.
Я не знаю, является ли проблема, когда я читаю содержимое файла txt, или если это когда я пытался преобразовать содержимое строки в txt в формат float.
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()
Там проблема здесь - прямо сейчас, с отступом, у вас есть тело кода внутри 'is_float' функции * после * его' return'. Вы проверили, что ваш пример действительно работает в форме вырезания для StackOverflow? (См. Рекомендации MCVE по адресу http://stackoverflow.com/help/mcve - «complete» и «поддающиеся проверке» оба требуют, чтобы код, предназначенный для иллюстрации, фактически функционировал). –
Tks Charles, код в правильном отступе моего проекта, просто на стеке это неправильно ... я буду щекотать MCVE –