次の文字列で unicode 関数を使用すると、エラーが発生します。
unicode('All but Buitoni are using Pinterest buffers and Pratt & Lamber haven’t used it for a month so I’ll check on this.')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 68: ordinal not in range(128)
位置 68 を確認すると、アポストロフィのように見えます'
。
>>> str='All but Buitoni are using Pinterest buffers and Pratt & Lamber haven’t used it for a month so I’ll check on this.'
>>> str[62:75]
' haven\xe2\x80\x99t us'
この問題に対処する方法はありますか。このバグは、ファイル models.py の gspread ラッパーの 426 行目に見つかりました。次の行があります。
425 cell_elem = feed.find(_ns1('cell'))
426 cell_elem.set('inputValue', unicode(val))
427 uri = self._get_link('edit', feed).get('href')
したがって、セルを値 (この場合は文字列) で更新しようとすると、gspread ラッパーはそれを Unicode に変換しようとしますが、アポストロフィのために変換できません。バグである可能性があります。この問題に対処するには?助けてくれてありがとう。