1

ファイルの内容は次のようになります。

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

走る:

the_txt_file = open('/txt_file')   

それから私は実行します:

the_txt_file_as_a_list =  the_txt_file.readlines()

それから私は実行します:

print the_txt_file_as_a_list

そして私はこれを手に入れます:

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

しかし、私は次のようなものを期待していました:

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

これは私にかなり頻繁に起こります、何が起こっているのですか?

4

2 に答える 2

2

したがって、この問題は、私のMacが.txtファイルとやり取りする方法に関係しているようです。

この問題は、スワッピングによって修正されました。

the_txt_file = open('/txt_file')   

と:

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

「rU」は「universal-readline」と呼ばれます。'rU'モードでファイルを開くと、ユニバーサルリードラインモードでファイルを開くことになります。実行時:

the_txt_file_as_a_list =  the_txt_file.readlines()

その後:

print the_txt_file_as_a_list

私の出力は次のとおりです。

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

に:

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

その後、次の方法で各アイテムを個別に印刷することができました。

for item in the_txt_file_as_a_list:
    print item

出力は次のようになりました。

1/15/13,930,1441.5

1/15/13,1000,1442.75

1/15/13,1030,1444
于 2013-01-20T14:32:34.897 に答える
1

あなた、またはこのデータファイルの元の作成者はMacを使用していたと思います。単純な「\n」行の終わりであると期待しているようですが、元のエディターシステムのデフォルトの行の終わりに悩まされています(ほとんどの場合)。

簡単な修正は、次のようなオプションで呼び出すことですopen(...)rU

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

これにより、ファイルがリードのみで開かれ、特定のファイルを読み取るときにユニバーサル改行サポートが使用されるようになります。

幸運を!

于 2013-01-20T08:21:26.347 に答える