2017-03-26 1 views
1

J'ai deux colonnes de nombres dans un fichier texte qui sont respectivement les colonnes de temps et de contrainte que je reçois d'une analyse dans le paquetage d'éléments finis abaqus! Je veux extraire la colonne de temps et la colonne de contrainte dans des listes séparées (une liste pour le temps et une autre liste pour le stress). puis utilisez cette liste pour faire d'autres opérations mathématiques et. . . mon problème est comment créer ces listes! mon fichier texte est le suivant: (! la première ligne du fichier texte et les quatre lignes du fond de c'est vide) extraire des données d'un fichier texte (python)

   X    FORCE-1  

      0.     0.   
      10.E-03   98.3479E+03 
      12.5E-03   122.947E+03 
      15.E-03   147.416E+03 
      18.75E-03   183.805E+03 
      22.5E-03   215.356E+03 
      26.25E-03   217.503E+03 
      30.E-03   218.764E+03 
      33.75E-03   219.724E+03 
      37.5E-03   220.503E+03 
      43.125E-03  221.938E+03 
      51.5625E-03  228.526E+03 
      61.5625E-03  233.812E+03 
+0

quel est le problème alors que la lecture du fichier? – Ravi

Répondre

2

Vous pouvez lire votre fichier ligne par ligne

time = [] 
stress = [] 
count =0 
with open("textfile.txt") as file: 
    for line in file: 
     line = line.strip() #removing extra spaces 
     temp = line.split(" ") 
     if count>=3 and temp[0].strip() : #checking empty string as well 
      time.append(temp[0].strip()) #removing extra spaces and append 
      stress.append(temp[len(temp)-1].strip()) #removing extra spaces and append 
     count+=1 

print time 

sortie en cours d'exécution au-dessus de script

['0.', '10.E-03', '12.5E-03', '15.E-03', '18.75E-03', '22.5E-03', '26.25E-03', '30.E-03', '33.75E-03', '37.5E-03', '43.125E-03', '51.5625E-03', '61.5625E-03'] 
+0

Il semble que vous essayez d'imprimer la variable 'temp' – Ravi

+0

Je ne peux pas tout préparer et vous servir. Le même code fonctionne pour moi. Si vous écrivez un code, vous devez avoir des bases claires au moins comment exécuter le code. – Ravi

+0

merci de votre belle relecture, j'ai approximativement obtenu ma réponse, mais quand j'exécute votre programme, j'ai un élément vide avant le premier élément ('0') et j'ai quatre éléments vides après le dernier élément ('1'). . . pourriez-vous s'il vous plaît dire comment pourrais-je obtenir ride de ces éléments? Thanx –