Преобразование json файла в CSV - PullRequest
2 голосов
/ 06 августа 2020

У меня есть простой код python, который преобразует файл json в csv. Я хотел бы преобразовать только первые четыре значения каждого ключа, но я не мог понять, как это сделать.

import json 
import csv 
  
  
# Opening JSON file and loading the data 
# into the variable data 
with open('personas.json') as json_file: 
    data = json.load(json_file) 
  
employee_data = data['emp_details'] 
  
# now we will open a file for writing 
data_file = open('data_file.csv', 'w') 
  
# create the csv writer object 
csv_writer = csv.writer(data_file) 
  
# Counter variable used for writing  
# headers to the CSV file 
count = 0
  
for emp in employee_data: 
    if count == 0: 
  
        # Writing headers of CSV file 
        header = emp.keys() 
        csv_writer.writerow(header) 
        count += 1
  
    # Writing data of CSV file 
    csv_writer.writerow(emp.values()) 
  
data_file.close() 

Вот пример json формата файла

{"emp_details":[
    {
     "DATAID":"6908443",
     "FIRST_NAME":"Fernando",
     "SECOND_NAME":"Fabbiano",
     "THIRD_NAME":"Agustin",
     "FOURTH_NAME":"", 
     "AGE": "21", 
     "EMAIL": "fer.fab@gmail.com"
    }
]}

И, как я уже сказал, я хотел бы преобразовать только поля DATAID, FIRSTNAME, SECONDNAME, THIRD NAME.

1 Ответ

0 голосов
/ 13 августа 2020

Если вы не против использования других инструментов, вы можете использовать недавно использованный esPro c для преобразования json данных в CSV. Это очень удобно. Пример кода для ваших нужд:

test=file("test.json").read().import@j().emp_details
result=test.emp_details.new(DATAID, FIRST_NAME, SECOND_NAME, THIRD_NAME)
file("data_file.csv").export(result)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...