сохранение json в csv, VK API
Подскажите, пожалуйста, как сохранить JSON в CSV? Исходник:
# -*- coding: utf-8 -*-
#работает с цифровыми и буквенными id
import vk
import auth_vk
import pandas as pd
from pandas import json_normalize
import csv
import json
V = '9.95' # Версия VK API
session = auth_vk.auth_vk_token()
api = vk.API(session, v=V)
def main():
y = api.groups.getMembers(group_id='rhymes', fields='city') # Id группы
data = y
json_str = json.dumps(data)
resp = json.loads(json_str)
data_items = str(resp['items'])
df = pd.io.json.json_normalize(['items'])
df.to_csv(r'./out.csv', index=False)
if __name__ == '__main__':
main()```
При попытке сохранить файл таким методом выдаёт ошибку:
`futurewarning: pandas.io.json.json_normalize`
Подскажите, пожалуйста, как исправить!
Ответы (1 шт):
Это не ошибка, а предупреждение, вам не надо ничего делать, пока не будет версии
pandas 2.0.0+ и ваша программа в ней уже не будет работать.
(В настоящее время версия pandas 1.4.2).
Но когда оно мешает вам, вы можете вашу команду
df = pd.io.json.json_normalize(['items'])
заменить командой
df = pd.json_normalize(['items'])
или просто
df = json_normalize(['items'])
(т.е. без pd. впереди).
Объяснения:
Метод
json_normalize()будет в будущих версиях (от версии pandas 2.0.0) устранен, он выл с версией pandas 1.0.0 перемещен как функция прямо в главный простор имен:pandas.json_normalize()is now exposed in the top-level namespace. Usage of json_normalize as pandas.io.json.json_normalize is now deprecated and it is recommended to use json_normalize aspandas.json_normalize()instead (GH27586).На русском:
pandas.json_normalize()теперь выставлен в верхнем просторе имен. Использование json_normalize as pandas.io.json.json_normalize теперь отвержен и вместо него рекомендуется использоватьjson_normalize()(GH27586).
Почему возможно бес
pd.впереди?Потому что у вас есть команда
from pandas import json_normalize