Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Caut splitter semnal satelit

Instalatii sanitare

Program de slabire cu succes gara...

Reconditionare cada baie din fonta
 Problema imprimanta

Here goes nothing

BCR sau Raiffeisen

Visual Studio 2022 instaleaza Epi...
 Sfat alegere parbriz

EMAG - recenzii false facute de ei?

Recomandare telefon 900-950

Nivel de trai
 Semnal bun da'... prost

De ce statiile de radio FM nu ren...

Pe unde pot sa gasesc statistici ...

Este reconditionat acest laptop?
 

Python - preluare date din fisier

- - - - -
  • Please log in to reply
6 replies to this topic

#1
AlexandruMihai13

AlexandruMihai13

    New Member

  • Grup: Junior Members
  • Posts: 11
  • Înscris: 08.07.2016
Hei! Buna! Am o problema cu preluarea unor date dintr-un fisier text (fisierul are continutul de mai jos). Fiecare linie contine caractere-litere si caractere-numere. Vreau sa creez doua liste, una care sa contina stringul format din caracterele-litere, si alta care sa contina  stringul de numere. Poate cineva sa imi explice si mie ce am gresit? Aveti mai jos programul.

Attached Files



#2
bobo666

bobo666

    Active Member

  • Grup: Members
  • Posts: 1,100
  • Înscris: 05.06.2015
Ar ajuta daca ai atasa fisierele sursa, ca sa poata testa lumea local fara sa mai scrie tot porgramul din nou.

#3
kruger

kruger

    Guru Member

  • Grup: Moderators
  • Posts: 11,928
  • Înscris: 04.02.2006
Ia incearca asta:

rainfall = []
months = []

with open('inmeteo.txt', 'r') as f:
	for line in f.read().split('\n'):
		split_line = line.split('\t')
		months.append(split_line[0])
		rainfall.append(split_line[1])

>>> rainfall
['81.2', '63.2', '70.3', '55.7']
>>>
>>> months
['Jan', 'Feb', 'Mar', 'Apr']


(neavand fisierul sursa, am presupus ca line separator e '\n' iar lunile sunt separate de acele valori prin Tab. )

Edited by kruger, 08 July 2016 - 13:52.


#4
AlexandruMihai13

AlexandruMihai13

    New Member

  • Grup: Junior Members
  • Posts: 11
  • Înscris: 08.07.2016
Va multumesc, dar tot aceeasi eroare imi da mie: list index out of range

#5
nliviu

nliviu

    Junior Member

  • Grup: Members
  • Posts: 43
  • Înscris: 23.04.2005
Încearcă să adaugi după "words = data.split()"
if len(words) == 0:
break


Edited by nliviu, 08 July 2016 - 16:11.


#6
AlexandruMihai13

AlexandruMihai13

    New Member

  • Grup: Junior Members
  • Posts: 11
  • Înscris: 08.07.2016
Multumesc nliviu, asta era.

 nliviu, on 08 iulie 2016 - 16:07, said:

Încearcă să adaugi după "words = data.split()"
if len(words) == 0:
break

multumesc, asta era.

multumesc, asta era.

#7
kruger

kruger

    Guru Member

  • Grup: Moderators
  • Posts: 11,928
  • Înscris: 04.02.2006

 AlexandruMihai13, on 08 iulie 2016 - 18:18, said:

Multumesc nliviu, asta era.


multumesc, asta era.

multumesc, asta era.
Mda, pentru viitor, sa stii ca fisierele text sunt deseori create cu un 'newline' la sfarsit. Intr-un editor de text cat de cat mai rasarit poti usor sa observi cum, dupa ultima linie completata, cursorul trece la urmatoarea linie (care e goala). Scriptul tau incerca sa parseze si linia aia...si crapa.

Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate