Mar-24-2020, 06:08 PM
I need read a txt file using chuncksize, after save into xlsx.
import os, sys import pandas as pd import xlwings as xw caminho = os.path.abspath(os.path.dirname(sys.argv[0])) txt = caminho + '\\Fat2.txt' xls = caminho + '\\cobfat.xlsx' existe_txt = os.path.exists(txt) existe_xls = os.path.exists(xls) def check_path(x): # Função para verificar se há arquivo no caminho e com o nome correto. if x != True: st = 'O arquivo não foi encontrado.\nVerifique se o nome está no local e com o nome correto.' else: st = 'ok' return st big_file = 5000 if check_path(existe_txt): # Lista para guardados os dados do arquivo lst_xl = [] # Leitura do arquivo usando chuck size for df in pd.read_csv(txt, sep="|", header=None, encoding='ISO-8859-1', chunksize=big_file): lst_xl.append(df) print('Gravando ...', df.shape) # Gravar dados no Excel df_xl = pd.concat(lst_xl, axis=0) writer = pd.ExcelWriter('output.xlsx') df_xl.to_excel(writer,'Plan1') writer.save() # I get error "error memory limit exceeded" after try save this in file.