Pythonで取得したデータを整形する
整形っていっても 1.jsonファイルを読み込む 2.要らない行とか文字列とかを削除する 3.変換したデータをファイルをもういっかいjsonファイルに押し込む これをするだけ
経緯
Pythonでネットニュース記事の文章を大量抽出する - 自由研究をします。 これをやった結果、文春のオンライン記事のデータファイルができた。900行くらい。
tweet-test-bot/netnewsdata.json at master · iinoten/tweet-test-bot · GitHub
いい感じ。でも中身を見ると良い感じではない
None {空白} \u3000
とかのおかしいのが混じってる。多分この後解析をするんだったらよろしくなさそう
https://bunshun.jp/articles/-/6 こんな感じで記事が削除されてたり画像のみのページがあったりするので多分それが原因っぽい。
書いた
import json json_open = open('./netnewsdata.json', 'r') json_load = json.load(json_open) news_data_array = json_load['data'] form_news_data_array = [] for index, news_item in enumerate(news_data_array): replaced_news_text = news_item.replace("\u3000", "") replaced_news_text = news_item.replace("None", "") if not(replaced_news_text==''): form_news_data_array.append(replaced_news_text) with open('./replaced_netnewsdata.json', 'w') as f: json.dump({"data":form_news_data_array}, f, ensure_ascii=False, indent=4)
こんな感じ
json_open = open('./netnewsdata.json', 'r') json_load = json.load(json_open) news_data_array = json_load['data']
でnews_data_array
にnetnewsdata.json
からのデータを取得。
form_news_data_array = [] for index, news_item in enumerate(news_data_array): replaced_news_text = news_item.replace("\u3000", "") replaced_news_text = news_item.replace("None", "")
取得した配列をforで回して無駄な字を削除
if not(replaced_news_text==''): form_news_data_array.append(replaced_news_text)
form_news_data_array
って空の配列を用意して空文字の要素以外の要素を追加
with open('./replaced_netnewsdata.json', 'w') as f: json.dump({"data":form_news_data_array}, f, ensure_ascii=False, indent=4)
replaced_netnewsdata.json
に整形したjsonデータを追加
https://raw.githubusercontent.com/iinoten/tweet-test-bot/master/replaced_netnewsdata.json 良い感じかも(量の多いデータファイルだとgithubのページに表示されないんですね)