Kezdőoldal » Számítástechnika » Programozás » Python txt beolvasás colabbal?

Python txt beolvasás colabbal?

Figyelt kérdés

fin = open('teszt.txt','r')

a=[]

for line in fin.readlines():

a.append( [ int (x) for x in line.split(',') ] )

print(a)


Ez a kódom, ez az output: []

Mi lehet a baj? Colabbal csinálom, google drive-ról töltöm be a teszt.txt-t, azt elvileg így kell csinálni:


from google.colab import drive

drive.mount('/content/gdrive')


txt tartalma:

4 6 7 8

3 5 2 9

1 9 7 4

3 9 6 2



2021. nov. 22. 17:12
 1/9 anonim ***** válasza:

Ezzel a kóddal nemcsak az a baj, hogy nem olvassa be a file-t. A split()-nél a field szeparátor vessző, de a txt-ben szóközökkel vannak a számok elválasztva. Az int() akkor is elhasalna, ha amúgy a kód többi része jó lenne. Szerintem a bajt a file elérési útjának hibás megadása okozza. A colab-editorban balkéz felöl van a file böngésző, ahol a drive-ban tárolt állományok is láthatóak. Ha kiválasztod a file-t, a sor végén megjelenő három pontra kattintva a Copy path opcióval az elérési útat kimásolod a vágólapra, ahonnan beillesztheted a kódba.


Nekem ez működött: [link]

2021. nov. 22. 17:44
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:
Sikerült, nagyon köszönöm! :)
2021. nov. 22. 18:33
 3/9 anonim ***** válasza:

Nem tudom, hogy ez-e a feladat, de a következő kód is működik.


fin = open('teszt.txt','r')

a=[]


for line in fin.readlines():

print(line)

2021. nov. 23. 08:22
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:

A javított kód:


----------------------------

fin = open('teszt.txt','r')

a=[]


for line in fin.readlines():

print(line,end="")

---------------------------

2021. nov. 23. 09:01
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:

@3 "Nem tudom, hogy ez-e a feladat, de a következő kód is működik."

Nem, a problémát nem a file beolvasása okozta, hanem az, hogy a Google Colab notebook számára elérhetővé kellett tenni a beolvasandó file-t, amit a kérdező a Google drive-ján tárolt.

2021. nov. 23. 09:46
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:
#5 Köszönöm szépen, most már értem a feladatot.
2021. nov. 23. 10:05
Hasznos számodra ez a válasz?
 7/9 anonim ***** válasza:
Csak csendben jegyeznem meg, hogy ez a file gyakorlatilag egy csv, aminel a separator vesszo (vagy pontosvesszo) helyett space. Innentol a szokasos eszkozok megfeleloen parameterezve (pl. pandas, vagy csv modul) egybol be tudjak huzni a tartalmat.
2021. dec. 1. 02:54
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:

@7 " egybol be tudjak huzni a tartalmat."

Tudod te, hogy mi az a google colab? Próbáltál már google drive-on tárolt file-t beolvasni?

2021. dec. 1. 10:42
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:

@8:

Nem hasznaltam colabot. Probaltam drive-ot par eve, felmountoltam a megfelelo konyvtarba fuse-al, es onnantol minden file-kent latszik. Amugy az eredeti kerdesre ertettem a valaszt (txt beolvasasa).

2021. dec. 2. 20:12
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!