Python 3を使用して、.jsonlドキュメントのテキストを分析したいと考えています。 json.decoder.JSONDecodeError:予期しないUTF-8 BOM(utf-8-sigを使用してデコード):エラーメッセージが表示されるアラビア語のテキストファイルの場合、テキストが英語であれば動作しています。 (コードを参照)に.decode(utf-8-sig)を追加してデコードする必要があると考えました。私もそれがbashので行うにかなっを有している場合には、〜/ .bashrcの中でUTF8にLANGの設定を変更する「str」はオブジェクトが属性「デコード」を持っていないJSONDecodeError:予期しないUTF-8 BOM:bashの問題を表示しますか?
: はAttributeError:そう、次のエラーメッセージが生じました端末は文字を正しく表示できませんが、同じエラーが表示されます。
ここにコードと事前に感謝!
import sys
from collections import Counter
import json
def get_hashtags(tweet):
entities = tweet.get('entities', {})
hashtags = entities.get('hashtags', [])
return [tag['text'].lower() for tag in hashtags]
if __name__ == '__main__':
fname = sys.argv[1]
with open(fname, 'r') as f:
hashtags = Counter()
for line in f:
tweet = json.loads(line.decode('utf-8-sig'))
hashtags_in_tweet = get_hashtags(tweet)
hashtags.update(hashtags_in_tweet)
for tag, count in hashtags.most_common(20):
print("{}: {}".format(tag, count))
あなたに文字列をデコードしようとしています。 "line"はファイル内の文字列です。なぜ、単にjson.loads(open(fname).read()。decode( 'utf-8-sig'))なのでしょうか? – BoboDarph
こんにちは、次のエラーを受け取りました:ファイル "frequent_hashtags.py"、行20、 tweet = json.loads(open(fname).read()。decode( 'utf-8-sig')) AttributeError: 'str'オブジェクトに 'decode'属性がありません –
私の悪い点は、.jsonl表記が見当たらず、ファイル全体がjsonであると思っていました。ファイルを開くときにエンコーディングを指定するだけで、Python 3ですでにサポートされているはずです。あまりにも遅れました。 – BoboDarph