Lenteur dans le parcours d'un txt de 3 millions de lignes
Bonjour à tous,
J'ai besoin d'un petit coup de main pour améliorer mon programme python.
J'ai un fichier txt qui contient environ 3 millions de lignes. Je voudrais utiliser ce fichier pour alimenter 9 dataframes.
En effet chaque ligne du fichier txt contient des renseignements sur les variables de mes différents dataframes (je connais la position et la longueur de chaque variable...).
Mon programme est celui là :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
index = 0
with open('leFichier.txt', 'r') as input_file :
for line in input_file :
if line[x:y] in listeNomsDF :
dfRow = []
for i in range( 0, len(colNames[line[x:y]]) ) :
colValue = line[debut:fin]
dfRow.append(colValue.strip())
index = df[line[x:y]].shape[0] + 1
df[line[x:y]].loc[index] = dfRow |
Le programme fait le job quand je le teste sur un échantillon de quelques lignes mais quand je passe à la totalité du fichier txt le programme prend des plombs à s'exécuter (plus de 2h...8O8O) et je finis par l'arrêter.
Avez des idées pour m'aider à l'optimiser et accélérer l'exécution ?
Merci par avance