Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to read a text file into a list or an array with Python

I am trying to read the lines of a text file into a list or array in python. I just need to be able to individually access any item in the list or array after it is created.

The text file is formatted as follows:

0,0,200,0,53,1,0,255,...,0. 

Where the ... is above, there actual text file has hundreds or thousands more items.

I'm using the following code to try to read the file into a list:

text_file = open("filename.dat", "r") lines = text_file.readlines() print lines print len(lines) text_file.close() 

The output I get is:

['0,0,200,0,53,1,0,255,...,0.'] 1 

Apparently it is reading the entire file into a list of just one item, rather than a list of individual items. What am I doing wrong?

like image 227
user2037744 Avatar asked Feb 03 '13 19:02

user2037744


1 Answers

You will have to split your string into a list of values using split()

So,

lines = text_file.read().split(',') 

EDIT: I didn't realise there would be so much traction to this. Here's a more idiomatic approach.

import csv with open('filename.csv', 'r') as fd:     reader = csv.reader(fd)     for row in reader:         # do something 
like image 163
Achrome Avatar answered Sep 22 '22 16:09

Achrome