#python #json #pandas
#python #json #панды
Вопрос:
Я пытаюсь прочитать данные Azure webjobs services json для журналов с помощью REST API, я могу получить данные в фрейме данных со столбцами, но мне нужны данные последнего столбца (одного из столбцов), которые должны быть доступны в табличном формате, где данные доступны в формате ключ: значение, как показано на рисунке ниже
Пример:
latest_run
0,"{'id': '202011160826295419', 'name': '202011160826295419','job_name': 'failjob','}"
1,"{'id': '202011160826295419', 'name': '202011160826295419','job_name': 'passjob','}"
теперь я хочу отобразить все id, job_name в формате фрейма данных, любая помощь, пожалуйста, заранее спасибо
Ниже приведен мой код
data = response.json()
# print(data)
df = pd.read_json(json.dumps(data), orient='records')
# df = json.loads(json.dumps(data))
df = pd.DataFrame(df)
df = df["latest_run"]
df.to_csv('file1.csv')
print(df)
Данные:
Ответ №1:
Перво-наперво, ваш JSON неправильно отформатирован (это неправильный JSON). В конце есть дополнительная открывающая кавычка, и JSON должен иметь двойные кавычки повсюду. Притворяясь, что это правильный JSON на данный момент, вот как вы могли бы его загрузить:
# NOTE: You can also open a CSV file directly
import io
csv_content = """latest_run
0,"{'id': '202011160826295419', 'name': '202011160826295419','job_name': 'failjob'}"
1,"{'id': '202011160826295419', 'name': '202011160826295419','job_name': 'passjob'}"
"""
csv_file = io.StringIO(csv_content)
import csv
import json
import pandas
# Create a CSV reader (this can also be a file using 'open("myfile.csv", "r")' )
reader = csv.reader(csv_file, delimiter=",")
# Skip the first line (header)
next(reader)
# Load the rest of the data
data = [row for row in reader]
# Create a dataframe, loading the JSON as it goes in
df = pandas.DataFrame([json.loads(row[1].replace("'", """)) for row in data], index=[int(row[0]) for row in data])
Комментарии:
1. @shaik, нет проблем! Пожалуйста, примите ответ, если это то, что вы ищете. Это также помогает другим находить ответы, которые им нужны.