2016-04-29 13 views
0

私は巨大なワード文書ファイルを持っています。その中には10,000行以上の行があり、それにはランダムな空行と奇妙な文字が含まれています.txtまたは.fastaファイルを読み込んで各行を文字列として読み込み、自分のプログラムを実行して、fastaヘッダーとそのシーケンスだけを取り出します。encode issue python word document

私はオンラインで検索し、エンコードの問題に関するすべての記事を読んだだけで、もっと混乱してしまいます。

は、これまで私が試してみました:

1)は、Unicode(UTF-8)のオプションで.txtファイルとしてWord文書ファイルを保存します。下のコードを実行したところ、エラーが発生するまで約1000行が出力されました。

with open('TemplateMaster2.txt', encoding='utf-8') as fin, open('OnlyFastaseq.fasta', 'w') as fout: 
for line in fin: 
    if line.startswith('>'): 
     fout.write(line) 
     fout.write(next(fin)) 

エラーメッセージ:

UnicodeEncodeError: 'charmap' codec can't encode chracter '\uf044' in position 11: character maps to <undefined> 

2)がUnicode(UTF-8)のオプションで.txtファイルとしてWord文書ファイルを保存します。異なるエラーになるまで約1000行が出力されました。

with open('TemplateMaster2.txt') as fin, open('OnlyFastaseq.fasta', 'w') as fout: 
for line in fin: 
    if line.startswith('>'): 
     fout.write(line) 
     fout.write(next(fin)) 

エラーメッセージ:

unicodeDecodeError: 'charmap' code can't decode byte 0x81 in position 5664: character map to <undefined> 

私は.txtファイルとしてそのワード文書を保存するためのさまざまなオプションを試すことができますが、そこにあまりにも多くのオプションがあると私は問題が本当に何であるかわかりません。 「unicode」または「unicode(ビッグエンディアン)」、「unicode(UTF-7)」、「Unicode(UTF-8)」、または「US- ASCII 'など

+0

問題は解決しているか、まだ開いていますか? –

+0

が開いていますが、どうして投票が下がったのか分かりません。今質問をするのはやめてしまいます。 – Jessica

+0

サイトは学習に関するものなので、ダウン投票では落胆しないでください。以下のコードを試しましたか?それは何のエラーでしたか? –

答えて

1

foutのopenステートメントでは、紛失していると思われる唯一のものはencoding='utf-8'です。

with open('TemplateMaster2.txt', 'r', encoding='utf-8') as fin, open('OnlyFastaseq.fasta', 'w', encoding='utf-8') as fout: 
    for line in fin: 
     if line.startswith('>'): 
      fout.write(line) 
      seq = next(fin) 
      fout.write(seq) 

本当にシーケンスが1行に収まるかどうかを再確認しましたか?