Python txt.file inlezen als geneste lijst

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • aptonia
  • Registratie: Maart 2021
  • Laatst online: 02-07-2022
Voor een taak moeten we een matrix opstellen. Ik heb heel wat, maar ik loop helemaal in het begin vast. Ik lees een txt.file in en ik krijg netjes een lijst met daarin de rijen van de matrix, maar elke rij staat als een volledige string, terwijl ik elk cijfer apart wil hebben.
Waar loopt het fout?

Ik werk in PyCharm met Python 3.7


Dit is een copy van het stukje code waar het over gaat:
def matrix():
# Opens the input file and rewrites, replacing all dots by zero
basis = open("venv/1_Singles.txt", "r")
output = open("venv/1_Matrix.txt", "w")
basis_cont = basis.readlines()
for line in basis_cont:
line = line.replace('.', '0')
output.write(line)


matrix()

file = open("venv/1_Matrix.txt", "r")

# Rewrite the output file as nested list
S = []
for row in file:
S.append([x for x in row.split()])
print(S)
Dit is de output:
[['000105000'], ['140000670'], ['080002400'], ['063070010'], ['900000003'], ['010090520'], ['007200080'], ['026000035'], ['000409000']]
Dit zou ik willen hebben:
[[0, 0, 0, 1, 0, 5, 0, 0, 0], [1, 4, 0, 0, 0, 0, 6, 7, 0], [0, 8, 0, 0, 0, 2, 4, 0, 0], [0, 6, 3, 0, 7, 0, 0, 1, 0], [9, 0, 0, 0, 0, 0, 0, 0, 3], [0, 1, 0, 0, 9, 0, 5, 2, 0], [0, 0, 7, 2, 0, 0, 0, 8, 0], [0, 2, 6, 0, 0, 0, 0, 3, 5], [0, 0, 0, 4, 0, 9, 0, 0, 0]]
(deze laatste heb ik manueel geforceerd om de rest te testen...)

Alvast heel erg bedankt!

Beste antwoord (via aptonia op 31-03-2021 21:13)


  • CyBeRSPiN
  • Registratie: Februari 2001
  • Laatst online: 07:34

CyBeRSPiN

sinds 2001

row.split(‘, ‘)?

Alle reacties


Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • CyBeRSPiN
  • Registratie: Februari 2001
  • Laatst online: 07:34

CyBeRSPiN

sinds 2001

row.split(‘, ‘)?

Acties:
  • +1 Henk 'm!

  • aptonia
  • Registratie: Maart 2021
  • Laatst online: 02-07-2022
Oh, foei, zo simpel en daar zit ik dan al een halve dag op te staren. Thanks!