If I have a text file like this:
Hello World
How are you?
Bye World
How would I read it into a multidimensional array like this:
[["Hello", "World"],
["How", "are", "you?"],
["Bye" "World"]]
I have tried:
textFile = open("textFile.txt")
lines = textFile.readlines()
for line in lines:
line = lines.split(" ")
But it just returns:
["Hello World\n", "How are you?\n", "Bye World"]
How do I read the file into a multidimensional array?
Use a list comprehension and str.split
:
with open("textFile.txt") as textFile:
lines = [line.split() for line in textFile]
Demo:
>>> with open("textFile.txt") as textFile:
lines = [line.split() for line in textFile]
...
>>> lines
[['Hello', 'World'], ['How', 'are', 'you?'], ['Bye', 'World']]
with
statement:
It is good practice to use the
with
keyword when dealing with file objects. This has the advantage that the file is properly closed after its suite finishes, even if an exception is raised on the way. It is also much shorter than writing equivalent try-finally blocks.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With