У меня есть большой json
файл, который я прочитал с помощью Dask в Python. Затем я настраиваю и фильтрую и пытаюсь снова сохранить его в json
.
def flatten(record):
return {
'id': record['id'],
'title': record['title'],
'year': record['year'],
...
}
if __name__ == '__main__':
dd = db.read_text('data.json',).map(json.loads)
dd.filter(lambda x: 'title' in x.keys()) \
.map(flatten) \
.to_textfiles('*.json', encoding='utf-8')
Сначала я отфильтрую все объекты, у которых нет поля title
. Затем с помощью map
я удаляю все ненужные поля и создаю несколько новых полей. И, наконец, я вызываю to_textfiles
, чтобы снова сохранить его в json
.
Однако я получаю ошибку
TypeError: Object {...here goes the first object as I have created it...} is neither a bytes object nor has an encode method
Объект действителен и проверен в онлайн-валидаторе.