Python: procesamiento de datos JSON
El archivo JSON almacena datos como texto en formato legible por humanos. JSON son las siglas de JavaScript Object Notation. Pandas puede leer archivos JSON usando elread_json función.
Los datos de entrada
Cree un archivo JSON copiando los datos a continuación en un editor de texto como el bloc de notas. Guarde el archivo con.json extensión y elegir el tipo de archivo como all files(*.*).
{
"ID":["1","2","3","4","5","6","7","8" ],
"Name":["Rick","Dan","Michelle","Ryan","Gary","Nina","Simon","Guru" ]
"Salary":["623.3","515.2","611","729","843.25","578","632.8","722.5" ],
"StartDate":[ "1/1/2012","9/23/2013","11/15/2014","5/11/2014","3/27/2015","5/21/2013",
"7/30/2013","6/17/2014"],
"Dept":[ "IT","Operations","IT","HR","Finance","IT","Operations","Finance"]
}
Leer el archivo JSON
los read_json La función de la biblioteca de pandas se puede usar para leer el archivo JSON en un DataFrame de pandas.
import pandas as pd
data = pd.read_json('path/input.json')
print (data)
Cuando ejecutamos el código anterior, produce el siguiente resultado.
Dept ID Name Salary StartDate
0 IT 1 Rick 623.30 1/1/2012
1 Operations 2 Dan 515.20 9/23/2013
2 IT 3 Tusar 611.00 11/15/2014
3 HR 4 Ryan 729.00 5/11/2014
4 Finance 5 Gary 843.25 3/27/2015
5 IT 6 Rasmi 578.00 5/21/2013
6 Operations 7 Pranab 632.80 7/30/2013
7 Finance 8 Guru 722.50 6/17/2014
Lectura de filas y columnas específicas
Similar a lo que ya hemos visto en el capítulo anterior para leer el archivo CSV, el read_jsonLa función de la biblioteca de pandas también se puede usar para leer algunas columnas específicas y filas específicas después de que el archivo JSON se lea en un DataFrame. Usamos el método de indexación de múltiples ejes llamado.loc()para este propósito. Elegimos mostrar la columna Salario y Nombre para algunas de las filas.
import pandas as pd
data = pd.read_json('path/input.xlsx')
# Use the multi-axes indexing funtion
print (data.loc[[1,3,5],['salary','name']])
Cuando ejecutamos el código anterior, produce el siguiente resultado.
salary name
1 515.2 Dan
3 729.0 Ryan
5 578.0 Rasmi
Lectura de archivos JSON como registros
También podemos aplicar el to_json función junto con los parámetros para leer el contenido del archivo JSON en registros individuales.
import pandas as pd
data = pd.read_json('path/input.xlsx')
print(data.to_json(orient='records', lines=True))
Cuando ejecutamos el código anterior, produce el siguiente resultado.
{"Dept":"IT","ID":1,"Name":"Rick","Salary":623.3,"StartDate":"1\/1\/2012"}
{"Dept":"Operations","ID":2,"Name":"Dan","Salary":515.2,"StartDate":"9\/23\/2013"}
{"Dept":"IT","ID":3,"Name":"Tusar","Salary":611.0,"StartDate":"11\/15\/2014"}
{"Dept":"HR","ID":4,"Name":"Ryan","Salary":729.0,"StartDate":"5\/11\/2014"}
{"Dept":"Finance","ID":5,"Name":"Gary","Salary":843.25,"StartDate":"3\/27\/2015"}
{"Dept":"IT","ID":6,"Name":"Rasmi","Salary":578.0,"StartDate":"5\/21\/2013"}
{"Dept":"Operations","ID":7,"Name":"Pranab","Salary":632.8,"StartDate":"7\/30\/2013"}
{"Dept":"Finance","ID":8,"Name":"Guru","Salary":722.5,"StartDate":"6\/17\/2014"}