0

Python でファイルからの読み取りに問題があります。

Python で読んでいるファイルのサイズは 90 Mb です。ワードで開くと、総ワード数は約1400万ワードであることがわかります。しかし、Python でファイルを読み取ると、ファイルの長さは約 900 万ワード (8,915,710 ワード) になります。

Python コマンドを使用してファイルの最後の 100 語を確認すると、

print "The length of the Corpus is ", len(tokens), tokens[-100:]

元のファイルの真ん中あたりから単語しか取得できません。

64 ビット Windows OS と 32 ビット バージョンの Python を使用しています。

PCスペック:i7、1.8Gz、6GB RAM

Python が 8,915,710 語を超えて読むことを拒否する理由を理解したいと思います。

ありがとう

コード:

f = open('testtext.txt')
raw = f.read()
corp = lowercase(raw)
tokens = nltk.word_tokenize(corp)
print "The number of words is ", len(tokens), tokens[-100:]
print "corp ", len(corp)
print "raw ", len(raw)

次の答えが得られます。

>> The number of words is  8915710
>> corp  53322476
>> raw  53322476
4

2 に答える 2

1

Replace this line:

f = open('testtext.txt')

with this line:

f = open('testtext.txt', 'rb')
于 2013-03-07T23:16:54.643 に答える
0

ファイルをバイナリとして処理してみてください。

f = open('file.txt', "rb")
chunkSize = 1024
dataChunk = f.read(chunkSize)
while len(dataChunk):
    processData(dataChunk)
    dataChunk = f.read(chunkSize)
于 2013-03-07T23:13:41.407 に答える