2017-06-27 18 views
0

私はプログラマーではなくユーザーです。私は、バイオインフォマティクス分析のためのPythonで書かれたソフトウェアを使用しています。私はMACとpython 2.7.11を持っています。私は特定のコマンドを実行すると次のエラーが表示されます。UnicodeDecodeError: 'ascii'コーデックは、位置69のバイト0xc8をデコードできません:範囲内の序数(128)

Traceback (most recent call last): 
    File "/Library/Frameworks/Python.framework/Versions/2.7/bin/predict_metagenomes.py", line 375, in <module> 
    main() 
    File "/Library/Frameworks/Python.framework/Versions/2.7/bin/predict_metagenomes.py", line 286, in main 
    opts.format_tab_delimited,"metagenome prediction",verbose=opts.verbose) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/bin/predict_metagenomes.py", line 358, in write_metagenome_to_file 
    write_biom_table(predicted_metagenome, output_fp, format_fs=format_fs) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/picrust/util.py", line 318, in write_biom_table 
    format_fs=format_fs) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/biom/table.py", line 3605, in to_hdf5 
    self.group_metadata(axis='observation'), 'csr', compression) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/biom/table.py", line 3557, in axis_dump 
    data=[i.encode('utf8') for i in ids], 
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc8 in position 69: ordinal not in range(128) 

私は、このエラーに関するいくつかのトピックを読んだが、私はそれを解決する方法を理解していません。

+3

文脈のためにあなたのコードを投稿してください。 – ILostMySpoon

+0

ソースコードはありますか?あなたはソフトにどんなバグもないことを確かに知っていますか?ソフトは別のマシンで正常に動作しますか?さらに、どのような行動がエラーにつながるのでしょうか?プログラムはある時点で文字列を受け取ったようで、整形式ではありませんでした。 *悪いユーザ入力かもしれません。 –

+0

答えをありがとう。たぶん問題はあなたが言ったように入力ファイルです。 – MarcoT

答えて

0

i.encode('utf8')は、iがASCII以外の文字列であるため、UnicodeDecodeErrorを発生させます。それをエンコードする(つまり、unicodeをstrに変換する)ために、Pythonはまずstrからunicodeへの変換を試み、失敗しました(iは非asciiです)。

そのユニコードを入力として解決するには

+0

答えをありがとう。私はあなたの提案を試みます – MarcoT

関連する問題