08
Сен
2021

Как результаты парсинга API в формате JSON записать в CSV отдельными строками

Задача - сформировать таблицу с данными в формате CSV парсингом API.

В результате парсинга API кодом Python в переменную data получаю такую строку JSON:

{
'Identifier': 'edf627bda4f345c5948396e1497a7e48',  
'User': 'USER',  
'State': 'OK',  
'Vin': 'XW8ZZZ61ZJG000000',  
'Count': '2',  
'VehicleType': 'PC',  
'VehicleTypeNumber': '23',  
'Brand': 'VOLKSWAGEN',  
'Model': 'POLO',  
'Year': '2018',  
'Power': '90',  
'TaxiInformations': {'1': {'inn': '7720000000', 
                           'company': 'ООО «Ромашка»', 
                           'date': '22.11.2018'}, 
                     '2': {'inn': '7720000000', 
                           'company': 'ООО «Ромашка»', 
                           'date': '09.12.2020'}
                    },  
'LeasingDetails': {}
}

Когда дальше пытаюсь записать результат циклом в файл CSV, то либо все данные добавляются в одну строку, либо в разные строки, но разбитые на отдельные знаки в отдельных столбцах.

Ниже пример кода с двумя вариантами, которые не решают мою задачу:

df = pd.read_excel("base_vin.xlsx", header=None, index_col=None)
vin = df.to_numpy().flatten()
password = 'PASSWORD'
data = []

for i in vin:

    url = 'http://site.com/api/searchvinextended?user=USER&password=' + password + '&vin=' + i
    data = requests.get(url).json()

    file = open('result.csv', 'a')
    
    # Вариант 1:
    file.write(json.dumps(data, ensure_ascii=False))

    # Вариант 2
    # writer = csv.writer(file)
    # writer.writerows([json.dumps(data, ensure_ascii=False)])

Мне нужно записать данные, указанные через разделитель ',' в отдельные столбцы. В идеале вообще получить из первой строки JSON заголовки и данные для первой строки, а из остальных писать в последующие строки только данные.

Подскажите, пожалуйста, как нужно доработать код?

Источник: https://ru.stackoverflow.com/questions/1326710/%D0%9A%D0%B0%D0%BA-%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D1%8B-%D0%BF%D0%B0%D1%80%D1%81%D0%B8%D0%BD%D0%B3%D0%B0-api-%D0%B2-%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B5-json-%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D1%82%D1%8C-%D0%B2-csv-%D0%BE%D1%82%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC%D0%B8-%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0%D0%BC%D0%B8

Тебе может это понравится...

Добавить комментарий