Yelp revisa el conjunto de datos oficiales del sitio web método de formato json a csv [más reciente] [super detallado]

Yelp es un sitio web similar a Dianping en los EE. UU. El conjunto de datos publicado en su sitio web oficial incluye información como comerciantes, usuarios, reseñas, registros, etc., que es detallada y rica. ¡El conjunto de datos se puede utilizar para estudiar los sistemas de recomendación!

Sin embargo, los datos descargados del sitio web oficial de Yelp están en formato json, y el archivo de análisis oficial de Python se escribió en python 2 hace cinco años. Después de ejecutarse durante mucho tiempo, se informaron innumerables errores y es necesario cambiarlo un poco. Después de descargar el archivo 10G durante medio día, ¡es inútil! ! Después de buscar en Internet durante mucho tiempo, no había una buena solución y estaba muy enojado. Aquí está el código más reciente que usa python3 para analizar en formato csv, en beneficio de las generaciones futuras.

Aquí se hace referencia al código de Zhizhi_ , pero ese artículo solo analiza los datos de Busness, y el archivo de análisis que proporciono a continuación puede analizar todos los archivos.

(1) Cree un nuevo archivo python, llamado json_to_csv_business.py , el contenido es el siguiente:

import csv
import json
import sys
import os
import pandas as pd
import numpy as np

#我这里.py文件和数据放在同一个路径下了,如果不在同一个路径下,自己可以修改,注意路径要用//

json_file_path='yelp_academic_dataset_review.json'
csv_file_path='yelp_academic_dataset_review.csv'

#打开business.json文件,取出第一行列名
with open(json_file_path,'r',encoding='utf-8') as fin:
    for line in fin:
        line_contents = json.loads(line)
        headers=line_contents.keys()
        break
    print(headers)
    
#将json读成字典,其键值写入business.csv的列名,再将json文件中的values逐行写入business.csv文件
with open(csv_file_path, 'w', newline='',encoding='utf-8') as fout:
    writer=csv.DictWriter(fout, headers)
    writer.writeheader()
    with open(json_file_path, 'r', encoding='utf-8') as fin:
        for line in fin:
            line_contents = json.loads(line)
            #if 'Phoenix' in line_contents.values():
            writer.writerow(line_contents)
            
 # 删除state','postal_code','is_open','attributes'列,并保存
 # 可以根据需要选择,这里是针对review文件的一些列。
df_bus=pd.read_csv(csv_file_path)
df_reduced=df_bus.drop(['compliment_hot','compliment_more','compliment_profile'],axis=1)
df_cleaned=df_reduced.dropna()
df_cleaned.to_csv(csv_file_path,index=False)
df_bus=pd.read_csv(csv_file_path)

df_bus.to_csv(csv_file_path,index=False)

El código anterior muestra el método de análisis del archivo de revisión. Si desea analizar archivos comerciales/de usuario, simplemente cambie json_file_path y csv_file_path.

(2) Ingrese la línea de comando de python, aquí uso anaconda, así que abra el indicador de poder de anaconda.

Ingrese cd 路径名para ingresar la ruta donde se encuentra el archivo de Python que acaba de escribir.
Luego ingrese directamente en la línea de comando:

json_to_csv_business.py

¡Puedes ver el archivo csv analizado en la carpeta! ! ! !

Cargue la sugerencia de usuario analizada (comentario breve) y los datos de registro (registro) aquí. El archivo de revisión es demasiado grande para cargarlo.

Enlace: https://pan.baidu.com/s/1HreQ1JaMdavS70nkUWo3NA Código de extracción: 23d8
Después de copiar este contenido, abra la aplicación móvil Baidu Netdisk, la operación es más conveniente

Tenga en cuenta que si lo abre con Excel, es posible que vea que algunos datos se muestran de forma anormal. Para ver la codificación cuando se abre Excel, ya sea csv (separados por comas) o csv (utf-8, separados por comas), la forma correcta de abrir la codificación aquí es la última. ¡Es normal ver el análisis directamente al abrirlo con python! Si el archivo de python y los datos están en el mismo directorio:

import pandas as pd
review = pd.read_csv('yelp_academic_dataset_review.csv')
review.head()

¡Ha sido un largo tiempo! ! !

Supongo que te gusta

Origin blog.csdn.net/weixin_43846562/article/details/112343164
Recomendado
Clasificación