#python #arrays #json #pandas #dataframe
#python #массивы #json #панды #фрейм данных
Вопрос:
Я создаю веб-сайт для анализа настроений в Твиттере в реальном времени, используя Python. Я хочу, чтобы результаты анализа сохранялись в файле формата json для использования в качестве исторических данных для каждого выполненного поиска. Как я могу перезаписать все данные поиска в одном файле? Данные изначально временно хранились в фрейме данных Pandas, поэтому я преобразовал их в массив в формате json
headings = ("Tweet", "Sentimen")
data = list(zip(tweets['tweet_text'], sentiment))
df = pd.DataFrame(data, columns=['Tweet', 'Sentimen'])
df.to_json(r'Export_DataFrame6.json', orient='records', indent=4)
a_file = open("Export_DataFrame6.json", "r")
json_object = json.load(a_file)
d = json_object[0]
d['Tweet'] = "Testing"
d['Sentimen'] = "Negative"
a_file = open("Export_DataFrame6.json", "w")
json.dump(json_object, a_file)
a_file.close()
обновить код:
headings = ("Tweet", "Sentimen")
data = list(zip(tweets['tweet_text'], sentiment))
df = pd.DataFrame(data, columns=['Tweet', 'Sentimen'])
df.to_json(r'Export_DataFrame6.json', orient='records', indent=4)
a_file = open("Export_DataFrame6.json", "r")
json_object = json.load(a_file)
a_file.close()
d = json_object[0]
d['Tweet'] = tweets['tweet_text']
d['Sentimen'] = sentiment
a_file = open("Export_DataFrame6.json", "w")
json.dump(json_object, a_file)
a_file.close()
ошибка: ошибка типа: объект типа Series не является сериализуемым в формате JSON
Комментарии:
1. вы имеете в виду, что хотите добавить данные в уже созданный файл json? если это ваш вопрос, это невозможно с pandas. вы должны использовать
json
модуль2. @deadshot да, это то, что я имею в виду. Но я уже конвертирую фрейм данных pandas в json, это все еще запрещено? Я пробовал использовать json.dump и json. загрузить, чтобы попытаться ввести 1 данные, которые я сам ввожу в файл, и это работает.
3. где ты застрял сейчас?
4. @deadshot Я хочу добавить переменную tweets[‘tweet_text’] и переменную sentiment (каждый раз, когда я выполняю анализ) в файл json, который уже заполнен предыдущим анализом. То, что я сказал ранее, сработало, когда я вручную заполняю его самостоятельно
5. вручную означает использование
json
модуля?
Ответ №1:
Я думаю, вы застряли на этой строке:
d = json_object[0]
потому что вы думаете, что у вас есть объект json, но это не так, и при попытке использовать [0] вы получаете ошибку. Не видя файла json, это грубое предположение.
можете ли вы открыть свой файл таким образом?
with open('Export_DataFrame6.json', 'rb') as f:
json_object = f.read().decode('utf-8')
а затем попробуйте
d = json_object[0]
or
d = json.loads(json_object)[0]
Комментарии:
1. хорошо, большое вам спасибо, но это уже решено с помощью json append