私は非常に大きなtxtファイルを読み込んで処理していますが、私がPythonで新しくなったので、ファイルをどのように読むことができますか?以下のサンプルがあります:ウェブからコンテンツを取得し、バイトからstr/jsonに変換する方法
[
{"content": "111111", "n": "ITEM 1", "a": "ANOTHER", "t": 1},
{"content": "222222", "n": "ITEM 2", "a": "ANOTHER", "t": 1},
{"content": "333333", "n": "ITEM 3", "a": "ANOTHER", "t": 1}
]
だから、私はn「は、「コンテンツ」のような各項目は、(私は私がした何を考えて)「[]」リスト内のループに各項目を取る必要があり、かつ"、" a "、" t "
私は、ファイルを読み込み、このようなループを撮ってみました:
for item in thecontent:
data = json.load(item)
pprint(data)
私は文字列としてではなく、JSON、上記のようにループに各「項目」を得たと思います。
編集2 私はドキュメンテーションで得たサンプルがここでは同じであるため、ujsonデータ型を使用する必要があると思います。あなたがよく知っているしたい場合は、documentation page
>>> import ujson
>>> ujson.dumps([{"key": "value"}, 81, True])
'[{"key":"value"},81,true]'
>>> ujson.loads("""[{"key": "value"}, 81, true]""")
[{u'key': u'value'}, 81, True]
みんなありがとうに行きます!
編集3: 私は私が持っていた問題についての答えを探し続け、ただ問題は、私はファイルによってこれをしなかったので、リストやタプルを「読み方」についてではないことがわかりました。
主な問題は、ウェブからコンテンツを取得するときにバイトを文字列に変換する方法であり、this topic、具体的にはthis replyに解決しました。
私はWebContentのを取得し、JSONに変換するために書いたコードは、ということです:多分これはこの探している人のための解決策であるように
def get_json_by_url(url):
r = requests.get(url)
r.raise_for_status()
return json.loads(r.content.decode('utf-8'))
、私はタイトルを「Pythonでタプル(またはjson)のリストを読み込む方法」から「ウェブからコンテンツを取得し、バイトからstr/jsonに変換する方法」のタイトルを変更しました。
私はPythonで新しくなったように問題をよく説明しないのは残念ですが、時には問題そのものを診断するのに多くの時間がかかります。
ありがとうございます!
Pythonでは、正しいインポートから文字通り機能を得ることができます。たとえば、反重力をインポートすることさえできます。あなたの場合、 'jsonをインポートする '方が適切でしょう。 – Iluvatar
こんにちはジュリアン、非常に非常にありがとうの質問をしてください。私はこれまでのやり方と、「プロセス」としての意味をよりよく書こうとしました。つまり、データをループに入れます。可能であれば、あなたの助けに感謝します! – m4ss4cr4t10n
ファイルの形式がわからないということを意味しますか?上記のあなたの例のフォーマットですか? –