문제

The contents of the file look like this:

1/15/13,930,1441.5
1/15/13,1000,1442.75
1/15/13,1030,1444

I run:

the_txt_file = open('/txt_file')   

Then I run:

the_txt_file_as_a_list =  the_txt_file.readlines()

Then I run:

print the_txt_file_as_a_list

And I get this:

['1/15/13,930,1441.5\r1/15/13,1000,1442.75\r1/15/13,1030,1444\r1/']

But I was expecting something like:

['1/15/13,930,1441.5\n','15/13,1000,1442.75\n','15/13,1030,1444\n']

This happens to me pretty frequently, what is going on?

도움이 되었습니까?

해결책 2

I would assume that you, or the original creator of this data file were on a Mac. Seems you are expecting it to be a simple '\n' line ending, but suffer from the originating editors system default line ending (most likely).

An easy fix, is to call open(...) with the rU option like so:

the_txt_file = open('/txt_file', 'rU')

This ensures that the file is opened read only, and uses Universal newline support when reading the particular file.

Good luck!

다른 팁

So it seems that the problem had something to do with the way my mac interacted with the .txt file

The problem was fixed by swapping:

the_txt_file = open('/txt_file')   

with:

the_txt_file = open('/txt_file', 'rU')

The 'rU' is called 'universal-readline'. Opening a file in 'rU' mode is opening a file in Universal readline mode. Upon running:

the_txt_file_as_a_list =  the_txt_file.readlines()

and then:

print the_txt_file_as_a_list

my output went from:

['1/15/13,930,1441.5\r1/15/13,1000,1442.75\r1/15/13,1030,1444\r1/']

to:

['1/15/13,930,1441.5\n', '1/15/13,1000,1442.75\n', '1/15/13,1030,1444\n']

Later, I was able to print each item seperatly by:

for item in the_txt_file_as_a_list:
    print item

The output looked like:

1/15/13,930,1441.5

1/15/13,1000,1442.75

1/15/13,1030,1444
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top